2010-08-23 130 views
1

我有一个表格视图,当用户选择一个单元格时,我想记录一个唯一的ID。我以为我可以使用索引,但数字不是顺序的(即,1,4,5,9等)。有没有为单元定义自定义索引或ID的方法?Uitableview单元格自定义唯一ID

所以我有以下的细胞中的表:

狗 猫 鱼

上述细胞有ID如下

2狗 4猫 8鱼

有没有一种方式,当用户触摸鱼细胞时,它会返回8?

Indexpath.row将返回2,我需要8.那么是否有我可以为每个单元格设置的自定义属性?

回答

1

不知道我完全理解这个问题,但是这应该是“顺序”:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    NSLog(@"%i", indexPath.row); 
} 

更新:好了,我想得到的混乱。

你需要让你的狗,猫,鱼等等看起来像[狗,猫,鱼]的NSArray与你在屏幕上显示的内容相匹配,否则你永远不会能够将两者联系起来。

indexPath.row将成为您指向该NSArray的指针。所以当你点击第二行时,上面的代码会在你的猫对象中吐出1. 1,尽管这不是猫的ID。

,那么你做

myAnimal = [myArray objectAtIndex:indexPath.row]; 

让你的对象,在这种情况下将是你的猫。 myAnimal.id会给你2

或者,如果动物是字典,这将是

[myAnimal objectForKey: @"id"] 

会给你你2.

希望帮助更多一点。

+0

我的身份证号码是不连续的 – Skeep 2010-08-23 20:38:33

+0

看看我的编辑上面的帮助 – mariachi 2010-08-23 23:06:56

0

如果你的IDS实际上是两个像你列出的所有权力,你可以只是做一个2 ^(indexPath.row + 1)

否则,你还可以保存有您单元的标签作为键一个NSDictionary和你想要的索引号作为它们的值。或者重做你的tableview来使用NSDictionary而不是NSArray或者你使用的任何东西。

+0

他们不是2的权力,他们是随机我会数字。 – Skeep 2010-08-23 21:03:28