Iphone UITableView可重用单元

Iphone UITableView可重用单元,iphone,cocoa-touch,uikit,Iphone,Cocoa Touch,Uikit,有人能给我解释一下可重用单元在单表视图中的工作方式吗 一个数据源应该创建多少个可重用单元?到目前为止,在所有样本中,我只看到一个。你还需要更多吗?在创建一个单元格时,你会传递一个特定类型单元格的标识符,以便以后,你可以尝试获取一个预分配的单元格,如果没有剩余的空闲单元格,只需重新创建一个即可(自动完成-只需尝试获取一个带有标识符的单元格,如示例代码所示) 您可以使用任意多个不同的标识符,好的做法是对每种不同类型的单元格使用不同的标识符(可能是不同的UITableViewCell子类) 因此,如果

有人能给我解释一下可重用单元在单表视图中的工作方式吗


一个数据源应该创建多少个可重用单元?到目前为止,在所有样本中,我只看到一个。你还需要更多吗?

在创建一个单元格时,你会传递一个特定类型单元格的标识符,以便以后,你可以尝试获取一个预分配的单元格,如果没有剩余的空闲单元格,只需重新创建一个即可(自动完成-只需尝试获取一个带有标识符的单元格,如示例代码所示)

您可以使用任意多个不同的标识符,好的做法是对每种不同类型的单元格使用不同的标识符(可能是不同的UITableViewCell子类)


因此,如果您有CellTypeA和CellTypeB(都是从UITableViewCell继承的,或者设置非常不同),请对这两种类型使用不同的键。

每次需要一个单元格时,都会要求数据源提供一个单元格。因此,仅当表以前未缓存任何单元格时,才应创建新单元格。

Different表示UITableViewCell的不同子类或单元格的某些不同属性?什么使单元格“不同”?不同的子类强制使用不同的键-无论如何,您不能配置错误类型的单元格。如果您的配置部分(用单元格填充数据并将属性应用到它)是重量级的,并且在一个单元类型中不同,那么您可能会考虑使用不同的键,从而防止重复地执行此配置。但一般来说,每个单元格类型一个键是一个很好的起点。我知道应该只创建一个键。但是,即使我对相同的数据源使用不同的子类单元格,并且样式也不同,那么我还是应该对每个子类/样式使用相同的重用标识符,还是应该对每个子类/样式使用不同的标识符,并选择要退出队列的标识符?该标识符仅告诉tableview在完成单元格后从何处退出。您完全可以决定使用什么标准来使用标识符对单元格进行分组。正如Eiko提到的,一种常见的做法是为每个子类使用一个标识符。