I would like to know if there is a way to attach a NSDictionary
object to a cell that is displayed in a UITableView
, so when a cell is selected I can access the NSDictionary
attached to that tableviewcell.
问问题
439 次
3 回答
3
当然,只需创建单元格的子类并添加您的字典。您也可以使用完全空的实现:
// MyCell.h
@interface MyCell : UITableViewCell
@property (nonatomic, strong) NSDictionary* dictionary;
@end
// MyCell.m
@implementation MyCell
@end
现在,如果您正在使用情节提要,请确保您设置了您的单元格类,或者如果您不使用它,请注册它,然后在您出队时设置字典并在稍后取回单元格时读取它。
于 2013-08-29T03:19:02.230 回答
2
如果您将 a 子类化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
}
于 2013-08-29T03:17:52.950 回答
1
您应该努力将数据模型 (NSDictionary) 与视图 (MyCell) 分离。这就是视图控制器的用途——管理每个单元格和数据之间的关系。
您的数据模型通常是 NSArray。数组中的每个元素对应于表中的一行(indexPath)。每个 NSArray 元素将为每个单元格保存一个 NSDictionary 对象(数据模型)。
于 2013-08-29T05:26:15.407 回答