2011-12-06 30 views
11

Tôi có một tùy chỉnh UITableViewCell mà tôi sử dụng như thế này:ghi đè cho tùy chỉnh 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; 
     } 
    } 
} 

Tác phẩm hoàn hảo. Nhưng, tôi muốn làm một số thứ tùy chỉnh cho tế bào khi chúng được tạo ra. Thông thường tôi sẽ ghi đè lên một cái gì đó như initWithFrame, nhưng nó không được sử dụng ở đây. Tôi nên ghi đè phương pháp nào để tùy chỉnh khởi tạo?

Trả lời

19

Cách đúng là ghi đè awakeFromNib cho UITableViewCell.

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

Xem references để biết thêm chi tiết.

4

Đối tượng không được lưu trữ từ ngòi bút được gửi thông báo -initWithCoder:. Đó là điểm ghi đè của bạn.

+1

Nếu đối tượng sử dụng các cửa hàng hoặc hành động không hoạt động vì nó không được kết nối – Victor

Các vấn đề liên quan