我的UITableView存在真正的问题,让我引导您完成它。
我的故事板中有一个UITableViewController,它有四个不同的原型单元格,每个单元格都有自己的标识符。
然后我在班上为控制器提供了这个:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"name";
if (indexPath.section == 0) CellIdentifier = @"name";
else if (indexPath.section == 1) CellIdentifier = @"name";
else if (indexPath.section == 2 && indexPath.row == 0) CellIdentifier = @"segment";
else if (indexPath.section == 2 && (indexPath.row == 1 || indexPath.row == 2 || indexPath.row == 3)) CellIdentifier = @"switch";
else if (indexPath.section == 3) CellIdentifier = @"segment";
else if (indexPath.section == 4) CellIdentifier = @"segment2";
else if (indexPath.section == 5) CellIdentifier = @"name";
else if (indexPath.section == 6) CellIdentifier = @"name";
else if (indexPath.section == 7) CellIdentifier = @"name";
GuestDetailCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[GuestDetailCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
//Configure my cells here, like so:
if (indexPath.section == 0)
{
cell.title.text = @"title";
}
else if (indexPath.section == 1)
{
}
//etc
return cell;
}
我认为这是我的问题所在,因为我已经成功使用了一些不同的代码(如果您需要查看它我会添加,请告诉我。
表中显示正确数量的单元格和正确的部分数量,如果选择一个单元格,它会将您带到右侧子视图控制器,但实际单元格本身只是空白。为什么他们都会返回零?
现在显示视图时,所有单元格都是空白的。 cell = [[GuestDetailCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
这似乎被一遍又一遍地调用,与配置显示的我的单元格相反。
我通过调用此代码来了解此视图:
- (void)addNewGuest
{
newGuestViewController *addGuestViewController = [[newGuestViewController alloc] initWithStyle:UITableViewStylePlain];
addGuestViewController.delegate = self;
//Create a new managed object context for the new guest -- set its persistent store coordinator to the same as that from the fetched results controller's context.
NSManagedObjectContext *addingContext = [[NSManagedObjectContext alloc] init];
self.addingManagedObjectContext = addingContext;
[addingManagedObjectContext setPersistentStoreCoordinator:[[fetchedResultsController managedObjectContext] persistentStoreCoordinator]];
addGuestViewController.guest = (GuestInfo *)[NSEntityDescription insertNewObjectForEntityForName:@"GuestInfo" inManagedObjectContext:addingContext];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:addGuestViewController];
[self.navigationController presentModalViewController:navController animated:YES];
}
任何想法,还是需要更多信息?
感谢。
答案 0 :(得分:0)
这让我发疯了。把我困在客户面前。 jrturton的评论得到了我需要的答案。因为它没有任何答案,所以最初吹过这个问题。发布jrturton的评论作为答案,因此不太可能被忽视。这是他的评论(答案):
您必须在故事板中设置与您相同的重用标识符 正在使用代码。如果你这样做,出列将总是返回一个单元格, 而且你永远不需要实例化一个。