2011-12-14 124 views
0

在故事板上的WWDC 2011视频309。他们演示使用已被分类的自定义UITableViewCell。在cellForRowAtIndexPath中,他们通过获取NSManagedObject并将自定义单元格的属性设置为托管对象来设置单元格。演示者说自定义表格单元格将使用托管对象设置UILabels。自定义UITableViewCell的设置内容

他们从不显示自定义tableview单元的代码。我的问题是你会在UITableViewCell中重写什么方法来更新单元格?

是的我知道你通常在cellForRowAtIndexPath中使用标记或为tableViewCell导入标题并访问它的属性。

回答

0

通常,您可以创建自己的方法来更新单元格数据,例如


@interface MyCell : UITableViewCell 

@property (nonatomic, retain, readwrite) IBOutlet UILabel* label; 

- (void)setData:(NSString*)data; 

@end 

@implementation 

@synthesize label = label_; 

- (void)setData:(NSString*)data { 
    self.label.text = data; 
} 

@end 

当然,你可以有更多的IBOutlets那里data可以是复杂的对象。

+0

我明白了,他们可能为子类UITableViewCell中的属性编写了自定义setter方法。所以当他们在cellForIndex中设置NSManagedObject属性时,所有的事情都得到了设置。这就说得通了。谢谢 – agilityvision 2011-12-14 18:17:22

0

此外,请确保您在故事板视图中正确指定重用标识符。这必须与您在CellForRowAtIndexPath委托方法中使用的内容相匹配。您还必须确保将Storyboard视图中的单元格的Class名称更改为您的自定义TableViewCell类名称(上面的MyCell)。