0
我正在用CoreData更新UITableView。在啓動時,第一行顯示爲(空)。如果我向下滾動/向上,它會加載。它只是不顯示最初。UITableView顯示(空)第一行
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
[cell setAccessoryType: UITableViewCellAccessoryDisclosureIndicator];
}
// set text for each cell
[cell.textLabel setText: [dataManager getProjectValueForKey: @"Title" atIndex: [indexPath row]]];
[cell.detailTextLabel setText: [[[dataManager getProjectValueForKey: @"pid" atIndex:[indexPath row]] stringByAppendingString: @": "] stringByAppendingString: [dataManager getProjectValueForKey: @"Sponsor" atIndex:[indexPath row]]]];
return cell;
}
dataManager
是什麼在跟Core Data交談。我覺得它可能會落後或者在啓動時發生什麼,所以單元試圖在數據準備好之前顯示數據。但我不知道。
如果您將第一個單元格關閉並返回到屏幕上,是否會加載正確的文本?此外,您可能需要查看NSFetchedResultsController以使用Core Data結果填充您的UITableView。其設計和高度優化的用例。 –
是的,他們按照操作中提到的那樣做。我有點新鮮。 –
很難說出發生了什麼事。我會在'-tableView:cellForRowAtIndexPath:'中設置一個斷點。第一次,進入'-getProjectValueForKey:atIndex:',看看它爲什麼會回到零。 –