今天在做一个tableview的程序的时候,加载数据时直接崩掉了,报了以下错误
*** Assertion failure in -[UITableView dequeueReusableCellWithIdentifier:forIndexPath:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3512.30.14/UITableView.m:6564
断点调试,发现-(UITableViewCell )tableView:(UITableView )tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 返回的cell为nil,原来问题在这里.
解决方法:应该为tableview注册一下cell
[self.tableView registerNib:[UINib nibWithNibName:@"CellXibName" bundle:nil] forCellReuseIdentifier:cell_identifier];
- 你就不用担心 cell 是否为 nil 了,如果 cell 为 nil 的话,tableView 会自己创建一个:
cell = [tableView dequeueReusableCellWithIdentifier:cell_identifier forIndexPath:indexPath];
这里虽然是用的复用,但是 tableView 会内部判断是否有可以重用的 cell。
TableView的cell返回nil问题
最新推荐文章于 2018-04-16 11:29:25 发布