dequeueReusableCellWithIdentifier总是返回非零?
在dequeueReusableCellWithIdentifier
返回的cell
下面的经典模式总是不nil
。 为什么? 我们不应该先分配一些细胞,那么我们可以重新使用一些细胞吗?
我正在使用自定义单元格,并且它是在故事板中创build的。 (但是,如果我使用了默认的UITableViewCell,现象是相同的 – 返回的单元格总是non-nil
)。
环境:Xcode 4.3.3 iOs 5.1
AlbumListCell *cell = [tableView dequeueReusableCellWithIdentifier:@"AlbumCell"]; //cell always non nil --- why?? if(cell == nil){ cell = [[AlbumListCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"AlbumCell"]; }
如果你正在使用storyboard,并且将UITableViewCell的标识符设置为在故事板文件中的dequeueReusableCellWithIdentifier(在你的案例中是“AlbumCell”)中使用的标识符,那么UITableView将一直为你创build单元格。 我想这是故事板的一个特点。 如果在故事板中找不到标识符,则需要手动创build单元格。
我知道单元格的返回可能是零,你应该检查它。 通常情况并非如此,因为您应该根据您提供的标识符为您创build一个单元格。 如果你没有正确的标识符和池是空的我相信是这样的情况下,你会得到零,你可以做一个初始化创build一个新的单元格。 另外我应该添加在xcode中创build的原型单元格是创build单元格的原因,这就是为什么它应该以非零开始,而不必创build一个单元格。
为了更好地回答这个问题,请到iTunes并转到课程iPad和iPhone应用程序开发 – Paul Hegarty – Stanford CS193p课程。 去讲座(25)9.桌面观看26分钟。
- 释放对象的校验和不正确 – 如何在设备上进行故障排除?
- Firebase云消息传递是否支持VOIP pushkit服务?
- 如何使用UIApplication handleOpenURL通知
- 如何在IOS中使用swift实现选取框标签
- 如何使用iPhone应用程序发送RGB信号到BLE设备?
- TTTAttributedLabel“阅读更多>”可能有几个属性的尾部截断?
- 使用drawRect绘制和动画两个图形。 背景图和前景图
- NSURLSession:handleEventsForBackgroundURLSession方法不会在后台会话中运行
- PFQueryTableViewController的didSelectRowAtIndexPath方法