在UITableViewCell中存储唯一ID

时间:2010-06-14 09:42:19

标签: iphone objective-c iphone-sdk-3.0

我有一张表,其中通常会有两个具有相同标题的单元格。每当点击表格中的单元格时,我都会放大地图,因此使用标题作为唯一标识符是不可能的。我已经有了一个唯一的标识符,但我需要找到一种方法将它存储在UITableViewCell对象中。

我一直在考虑两种选择,两者都很差,IMO。

1)将唯一ID存储为detailTextLabel属性文本中的文本。

2)构建一个自定义的UITableViewCell类。

我是目标C的新手,我基本上想知道第三种选择是否与#1一样低效,但不像#2那样有效。

由于

1 个答案:

答案 0 :(得分:1)

使用单元格的tag属性(仅当您的标识符是整数时才有效。)

也就是说,单元格已经有一个唯一的标识符(尽管不一定是常数),也就是它们的indexPath,即它们在表格中的位置。您通常不应该使用单元格直接存储任何数据。而是将数据存储在模型对象中,并通过indexPath维护模型数据和视图之间的连接。

在处理表视图时,这一点尤其重要,因为一旦单元格从屏幕滚动,单元格视图就会被重用或取消分配。