我有一张表,其中通常会有两个具有相同标题的单元格。每当点击表格中的单元格时,我都会放大地图,因此使用标题作为唯一标识符是不可能的。我已经有了一个唯一的标识符,但我需要找到一种方法将它存储在UITableViewCell对象中。
我一直在考虑两种选择,两者都很差,IMO。
1)将唯一ID存储为detailTextLabel属性文本中的文本。
2)构建一个自定义的UITableViewCell类。
我是目标C的新手,我基本上想知道第三种选择是否与#1一样低效,但不像#2那样有效。
由于
答案 0 :(得分:1)
使用单元格的tag
属性(仅当您的标识符是整数时才有效。)
也就是说,单元格已经有一个唯一的标识符(尽管不一定是常数),也就是它们的indexPath
,即它们在表格中的位置。您通常不应该使用单元格直接存储任何数据。而是将数据存储在模型对象中,并通过indexPath维护模型数据和视图之间的连接。
在处理表视图时,这一点尤其重要,因为一旦单元格从屏幕滚动,单元格视图就会被重用或取消分配。