原因:'无法使用标识符将单元格出列

时间:2014-11-25 15:34:03

标签: ios objective-c iphone uitableview

我在Xcode中运行我的应用程序时收到错误消息(由于未捕获的异常而终止应用程序)。下面我粘贴了错误消息,我认为是创建问题的代码的一部分。我是新的,只是学习目标c所以请轻松与我合作。谢谢!

int main(int argc, char * argv[]) {
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); Thread 1:signal SIGABRT
    }
}
  • 错误讯息:

    2014-11-25 10:07:19.794 SamplePhotoReDo [81276:108898068] *断言失败 - [UITableView dequeueReusableCellWithIdentifier:forIndexPath:],/ SourceCache / UIKit_Sim / UIKit-3318.16.14 / UITableView.m: 6116 2014-11-25 10:07:19.798 SamplePhotoReDo [81276:108898068] * 由于未捕获的异常终止应用程序' NSInternalInconsistencyException',原因:'无法使用标识符AllPhotosCell对单元格出列 - 必须为标识符注册一个笔尖或一个类,或者在故事板中连接一个原型单元' ***首先抛出调用堆栈:'

我认为导致错误的脚本:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = nil;
    NSString *localizedTitle = nil;

    if (indexPath.section == 0) {
        cell = [tableView dequeueReusableCellWithIdentifier:AllPhotosReuseIdentifier forIndexPath:indexPath];
        localizedTitle = NSLocalizedString(@"All Photos", @"");
    } else {
        cell = [tableView dequeueReusableCellWithIdentifier:CollectionCellReuseIdentifier forIndexPath:indexPath];
        PHFetchResult *fetchResult = self.collectionsFetchResults[indexPath.section - 1];
        PHCollection *collection = fetchResult[indexPath.row];
        localizedTitle = collection.localizedTitle;
    }
    cell.textLabel.text = localizedTitle;

    return cell;
}

1 个答案:

答案 0 :(得分:0)

在ViewDidLoad中添加:

[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:AllPhotosReuseIdentifier];