ope*_*rog 3 iphone uitableview
我想知道为什么我需要在UITableView中使用Cell Identifier ...这样:
static NSString *cellIdentifier = @"Cell";
Run Code Online (Sandbox Code Playgroud)
需要什么?例?
UITableView需要能够平滑快速地显示快速变化的数据,有时单元格还有额外的代码来构建单元本身,使用Core Graphics等.
UITableView一次只能显示少量单元格,而数据源中可能包含更多"行".为了减少处理和内存使用,apple提供了dequeueReusableCellWithIdentifier方法.这允许tableview重新使用已经从视图中删除的已实例化的单元格(如果可用).
UITableView可以包含不同类型的单元格.例如,您可能有一个tableview,其中某些行具有关联的图像,而其他行则没有,具有不同的单元格布局.或者根据其他一些上游应用程序设置,您有不同的单元格类型.该CellIdentifier告诉哪种类型的细胞的您正在寻找重用出队方法,这样你就不会收到错误类型的细胞.
static NSString *CellIdentifier = @"Cell with image";
UITableViewCell *cell = [tv dequeueReusableCellWithIdentifier:CellIdentifier];
Run Code Online (Sandbox Code Playgroud)
如果找不到要重用的单元格,则必须创建它,即:
if(cell == nil) ....
Run Code Online (Sandbox Code Playgroud)
由于许多应用程序仅对给定的tableview使用单一类型的单元格,因此产生混淆,因此CellIdentifier不会更改.
来自Apple的一篇很好的文章:https: //developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/TableView_iPhone/TableViewCells/TableViewCells.html
另请参阅: 在同一个表视图中使用两个不同的单元标识符
和:http://www.digitalhobbit.com/2009/12/19/a-useful-uitableview-cell-creation-pattern/
| 归档时间: |
|
| 查看次数: |
6148 次 |
| 最近记录: |