2011-12-06 59 views
11

我有一個自定義UITableViewCell,我使用的是這樣的:覆蓋了自定義的UITableViewCell

AppTableCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 
    NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"AppTableCell" owner:self options:nil]; 
    for(id currentObject in topLevelObjects) { 
     if([currentObject isKindOfClass:[AppTableCell class]]) { 
      cell = (AppTableCell *)currentObject; 
      break; 
     } 
    } 
} 

完美的作品。但是,我想在創建單元時爲單元格做一些自定義的事情。通常我會覆蓋像initWithFrame,但它沒有在這裏使用。我應該重寫什麼方法來自定義初始化?

回答

19

正確的方法是覆蓋awakeFromNib UITableViewCell。

- (void)awakeFromNib 
{ 
    [super awakeFromNib]; 
    // Do something 
} 

查看references瞭解更多詳情。

4

從筆尖中取消存檔的對象將發送-initWithCoder:消息。這是你的重點。

+1

如果對象使用插座或操作,因爲它沒有連接 – Victor