當前位置:成語大全網 - 書法字典 - 為什麽ios自定義單元格的屬性為空?

為什麽ios自定義單元格的屬性為空?

在制作壹個ios項目的過程中,有時會發現運行後內容顯示不出來。添加壹個斷點,發現問題是對象根本沒有得到傳遞的值。從程序運行的順序來看,壹種情況是賦值時間值本身為空,賦值對象沒有初始化,我犯的錯誤屬於後者。

以上情況在於簡單的指派問題。定制UITableViewCell變量的常見錯誤是定制UITableViewCell時覆蓋了父類的初始化方法,與視圖控制器中的初始化方法不壹致,導致單元格創建失敗,內容自然無法顯示。

舉壹個正確的例子:

在視圖控制器中:

-(UITableViewCell *)table view:(UITableView *)table view cell for rowatindexpath:(NSIndexPath *)index path {

movie cell * cell =[table view dequeuereusablecellwith identifier:iden];

if(cell == nil){

cell =[[movie cell alloc]init with style:uitableviewcellstyle subtitle reuse identifier:iden];

}

cell . background color =[ui color clear color];

cell . movie model = _ movie models[index path . row];

返回單元格;

}123456789

在自定義UITableViewCell類中,類名為MovieCell。

-(id)init with style:(UITableViewCellStyle)style重用標識符:(NSString *)重用標識符{

self =[super init with style:style reuse identifier:reuse identifier];

如果(自己){

//自定義單元格

[self _ init cell];

}

回歸自我;

}123456789

摘要:類中定義的實例變量在使用前必須初始化;自定義UITableViewCell時,復制的父類的初始化方法應該與視圖控制器中的初始化方法壹致。