我有一个表视图,当用户选择一个单元格时,我想记录一个唯一的id。我以为我可以使用索引,但数字不是连续的(即1. 1,4,5,9等)。有没有办法为单元格定义自定义索引或ID?
所以我在表格中有以下单元格:
狗 猫 鱼
以上细胞的ID如下所示
2只狗 4只猫 8条鱼是否有一种方法,当用户触摸鱼群时,它将返回8?
Indexpath.row会返回2而我需要8.那么我可以为每个单元格设置一个自定义属性吗?
答案 0 :(得分:1)
不确定我是否完全理解这个问题,但这应该是“顺序的”:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"%i", indexPath.row);
}
更新:好的,所以我认为我感到困惑。
你需要将你的狗,猫,鱼等放在一个看起来像[狗,猫,鱼]的NSArray中,与你在屏幕上显示的内容相匹配,否则你将永远无法将两者联系起来。
indexPath.row将是您指向NSArray的指针。所以,当你点击第二行时,上面的代码将吐出1.你的数组应该是你的cat对象,即使那不是猫的id。
那么你做
myAnimal = [myArray objectAtIndex:indexPath.row];
获取您的对象,在这种情况下将是您的猫。 myAnimal.id会给你2个。
或者,如果你的动物是字典,那就是
[myAnimal objectForKey: @"id"]
会给你2。
希望这会有所帮助。
答案 1 :(得分:0)
如果您的ID实际上是您列出的两个权限,那么您可以只执行2 ^(indexPath.row + 1)
否则,您还可以保留一个NSDictionary,它将您的单元格标签作为键,并将所需的索引号作为其值。或者重新修改你的tableview以使用NSDictionary而不是NSArray或者你正在使用的任何东西。