2011-12-14 166 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)。