将字典对象附加到UITableViewCell

3

我想知道是否有一种方法可以将NSDictionary对象附加到在UITableView中显示的单元格上,以便当选中一个单元格时,我可以访问附加到该tableviewcell上的NSDictionary

3个回答

3
当然,只需创建一个单元格的子类并添加您的字典即可。您也可以使用完全空的实现:
// MyCell.h
@interface MyCell : UITableViewCell

@property (nonatomic, strong) NSDictionary* dictionary;

@end

// MyCell.m
@implementation MyCell
@end

现在,如果您使用的是Storyboard,请确保设置您的单元格类;如果不是,请注册它。然后,在您出列时设置字典,在稍后获取单元格时读取它即可。

太好了,现在要想办法如何对它们进行子类化...非常感谢你。 - HurkNburkS

2

如果您使用子类化UITableViewCell并在自定义单元格中创建一个NSDictionary属性,则可以实现此目的。

假设您已经在某个地方设置了此属性,以下是在选择单元格时检索它的方法:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    MyCustomCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    NSLog(@"%@",cell.dictionary); //replace "dictionary" by the name of the property you created in the subclass
}

1
你应该努力将数据模型(NSDictionary)与视图(MyCell)分离。这就是视图控制器的作用-管理每个单元格和数据之间的关系。
你的数据模型通常会是一个NSArray。数组中的每个元素对应表中的一行(indexPath)。每个NSArray元素都应该包含一个NSDictionary对象(数据模型),用于每个单元格。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接