Iphone 我可以为-dequeueReusableCellWithIdentifier:方法提供nil吗?

Iphone 我可以为-dequeueReusableCellWithIdentifier:方法提供nil吗?,iphone,uitableview,Iphone,Uitableview,dequeueReusableCellWithIdentifier: 返回可重用的表视图单元格 由其标识符定位的对象 (UITableViewCell*)dequeueReusableCellWithIdentifier:(NSString) *)标识符 参数标识符是一个字符串 标识要创建的单元格对象 重复使用。默认情况下,可重用 单元格的标识符是其类名, 但您可以将其更改为任意值 价值观 好吧,如果默认情况下是类名,为什么我要花很多脑力去考虑标识符呢?我能提供零吗?然后它会使用类名吗?或者

dequeueReusableCellWithIdentifier: 返回可重用的表视图单元格 由其标识符定位的对象

  • (UITableViewCell*)dequeueReusableCellWithIdentifier:(NSString) *)标识符
参数标识符是一个字符串 标识要创建的单元格对象 重复使用。默认情况下,可重用 单元格的标识符是其类名, 但您可以将其更改为任意值 价值观


好吧,如果默认情况下是类名,为什么我要花很多脑力去考虑标识符呢?我能提供零吗?然后它会使用类名吗?或者他们想说什么?我必须自己制作一个带有类名的NSString并将其作为标识符提供吗?

否。该标识符将用作NSArray内部NSMutableDictionary中的一个键,用于存储可重用单元。如果提供
nil
,则
-dequeueReusableCellWithIdentifier:
中使用的
-objectForKey:
将崩溃


此外,一个表可能有来自UITableViewCell的不同(子)类的单元格,因此也没有好的默认值可传递。

因此,如果我从类名生成NSString,这是一个解决方案吗?@mystify:是的。但我倾向于只给出一个伪字符串,例如,
@“
作为标识符。