暫停我有一個用的tableView段的x個,每一個行。在每一行都有UIElements接受輸入。輸入來自核心數據。我以前將輸入追加到數組中,然後索引到數組中,但是我想直接/單獨在cellForRowAtIndexPath中設置它們。由於CD讀取需要一些時間才能完成,我需要「暫停」的cellForRowAtIndexPath(直到coreData取已發送NSNotification,它已完成。) 如何暫停,只有做當抓取設置UILabels等。我需要爲每個部分執行此操作。如何在的cellForRowAtIndexPath
任何幫助將非常感謝!謝謝。
我擔心的代碼將被搞亂,所以不必在意它。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell
let dashboardCell = CellList.sharedInstance.dashboardCell[userIndexForItem[indexPath.section]] as DasboardCell
dashBoardCellGlobalVariablesInstance.value = dashboardCell.cdFetchObject.queryCDValue()
<--PAUSE AND WAIT FOR NSNOTIFICATION
let value = cell.contentView.viewWithTag(5) as UILabel
value.text = dashBoardCellGlobalVariablesInstance.value
<-- More UI ELEMENTS -->
return cell
}
這不是一個良好的業績進行查詢,以CD每次的cellForRowAtIndexPath被稱爲......我建議你之前reloadData被稱爲 – 2015-03-31 19:53:01
啊獲取所有的對象,因爲ReusableCell好嗎?對? – KML 2015-03-31 19:55:13
不,因爲在NSManagedObjectContext中使用executeFetchRequest的單個提取比單獨提取每個對象花費的時間少。 – 2015-03-31 20:01:21