关闭

报错:*** Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:], /BuildRoot/Librar

1612人阅读 评论(0) 收藏 举报
分类:

报错:* Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:], /BuildRoot/Library/C

使用UITableView出现
* Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3512.60.7/UITableView.m:7971的解决方法。
1.可能是把return Cell;放在了if语句内如下所示:

{
        static NSString *CellIdentifier1 = @"hotCell";
        HotCity_Cell *hotCell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier1];
        if (hotCell == nil)
        {
            hotCell = [[HotCity_Cell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier1];
            hotCell.backgroundColor = [UIColor clearColor];
            return hotCell;// 把return 语句写在这里
        }
//        return hotCell;// return 语句应该写在这里
}

2.没有判断cell 为空值,应该像上面的代码一样,有If语句来判断cell是否为空。错误的写法如下:

{
        static NSString *CellIdentifier1 = @"hotCell";
        HotCity_Cell *hotCell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier1];
        hotCell = [[HotCity_Cell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier1];
        hotCell.backgroundColor = [UIColor clearColor];
        return hotCell;
}

下面是初始化celll的正确方法:

{
        static NSString *CellIdentifier1 = @"hotCell";
        HotCity_Cell *hotCell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier1];
        if (!hotCell)
        {
            hotCell = [[HotCity_Cell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier1];
            hotCell.backgroundColor = [UIColor clearColor];
        }
        return hotCell;
}

文章来源:http://m.blog.csdn.net/article/details?id=51028141

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:95624次
    • 积分:2306
    • 等级:
    • 排名:第16989名
    • 原创:630篇
    • 转载:3篇
    • 译文:0篇
    • 评论:1条