原型单元== nil xcode6

时间:2014-12-14 14:13:41

标签: ios objective-c uitableview

当我创建UITableView时,tableview没有原型单元格,因此我删除了原始视图并添加了UITableView。但是,当创建新的tableview时,原型仍然没有出现,所以我将一个tablecell拖入表视图并命名标识符" Cell"在故事板中。但是,当我试图将我的解析查询填充到tableview单元格时,它会一直崩溃,所以我放置一个单元格== nil,发现单元格等于nil。我想知道我做错了什么?或者无论如何都要识别细胞?

我的代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView
                             dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc]
                initWithStyle:UITableViewCellStyleDefault
                reuseIdentifier:CellIdentifier];
    }

    PFObject *shop=[self.shops objectAtIndex:indexPath.row];
    cell.textLabel.text = [shop objectForKey:@"Shopname"];
    return cell;
}

我的手机 enter image description here

更新: enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

原始代码示例中的单元格标识符为“Cell1”,而故事板中的单元格标识符只是“Cell”。这些必须是相同的标识符。

顺便说一句,如果您有单元格原型,则不应在if (cell == nil) { ... }中插入cellForRowAtIndexPath子句。 cell不应该是nil,因此您应该诊断该问题而不是手动实例化表格视图单元格。此外,您指定了表格单元格类型“自定义”,但似乎处理它像“基本”。我不会使用“自定义”单元格类型,除非你真的使用单元格的自定义子类。

如果您的应用仍在崩溃,则问题是错误消息是否相同。请更新您的原始问题,并附上您可能收到的任何错误消息的全文(特别是控制台中显示的内容)。如果您有堆栈跟踪,也可以与我们分享。

如果您有错误,请参阅So my app crashed, now what?了解总法律顾问。