CG-L 的技术博客

Stay Hungry,Stay Foolish.

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

报错:* 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

阅读更多
个人分类: 报错
上一篇实用知识:NSPredicate(谓词)的使用
下一篇实用知识:UIButton 图片在上文字在下
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭