【问题标题】:Exception when Loading TableViewCell from NIB从 NIB 加载 TableViewCell 时出现异常
【发布时间】:2012-11-09 19:13:13
【问题描述】:

我想从 NIB 加载 TableViewCell,所以 IssueTableCell.xib 和我的代码在这里:

static NSString *issueTableCellId = @"IssueTableCell";

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:issueTableCellId];
NSInteger index = indexPath.row;

NSDictionary *d = [data objectAtIndex:indexPath.row];

UILabel *titleLabel = (UILabel *)[cell viewWithTag:101];
titleLabel.text= [d objectForKey:@"Name"];


UIImageView *imageView = (UIImageView *)[cell viewWithTag:100];
imageView.image=nil;

[self setCoverOfIssueAtIndex:index completionBlock:^(UIImage *img) {
    dispatch_async(dispatch_get_main_queue(), ^{
        UITableViewCell *cell = [table_ cellForRowAtIndexPath:[NSIndexPath indexPathForRow:indexPath.row inSection:0]];
        UIImageView *imageView = (UIImageView *)[cell viewWithTag:100];
        imageView.image=img;
    });
}];

NKLibrary *nkLib = [NKLibrary sharedLibrary];
NKIssue *nkIssue = [nkLib issueWithName:[self nameOfIssueAtIndex:index]];
UIProgressView *downloadProgress = (UIProgressView *)[cell viewWithTag:102];
UILabel *tapLabel = (UILabel *)[cell viewWithTag:103];
if(nkIssue.status==NKIssueContentStatusAvailable) {
    tapLabel.text=@"TAP TO READ";
    tapLabel.alpha=1.0;
    downloadProgress.alpha=0.0;
} else {
    if(nkIssue.status==NKIssueContentStatusDownloading) {
        downloadProgress.alpha=1.0;
        tapLabel.alpha=0.0;
    } else {
        downloadProgress.alpha=0.0;
        tapLabel.alpha=1.0;
        tapLabel.text=@"TAP TO DOWNLOAD";
    }

}
return cell; }

我的例外是

UITableView dataSource 必须从 tableView:cellForRowAtIndexPath 返回一个单元格

哪里出错了?

【问题讨论】:

    标签: uitableview xcode4.2


    【解决方案1】:

    出现错误是因为编译器找不到重用标识符,这意味着您的单元格为零

    还要正确维护重用标识符,以便编译器可以重用它。

    你应该在 dequeueReusableCellWithIdentifier 之后试试这个:

    您必须检查 nil,如果单元格为 nil,则创建新单元格 像这样:

    如果(单元格 == nil)

    {

    //在这里新建单元格...

    }

    【讨论】:

    • 我试了一下,但仍然发生异常:(
    猜你喜欢
    • 1970-01-01
    • 2011-07-26
    • 2016-03-19
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2011-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多