我試圖在界面生成器中創建一個自定義的UITableViewCell,並將實際的UITableViewCell的文件所有者和自定義類設置爲新的自定義UITableViewCell類。我會掛鉤,從文件的所有者的IBOutlets和得到錯誤,當它來:爲什麼自定義TableViewCell不需要文件所有者?
TVCell *cell = (TVCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"TVCell" owner:nil options:nil];
for(id currentObject in topLevelObjects)
{
if([currentObject isKindOfClass:[TVCell class]])
{
cell = (TVCell *)currentObject;
break;
}
}
最後我意識到你必須從對象的UITableViewCell掛鉤的IBOutlets,而不是文件的所有者。爲什麼是這樣?
感謝
優秀的解釋。我不知道爲什麼每個人都不這樣做,而不是循環訪問數組,我錯過了什麼? – jrturton
有些人更喜歡循環的限制,它不需要一個實例變量來完成詞彙範圍。 –
@JonHess - 很好的解釋。謝謝你清理那個。在相關說明中,「TVCell.h」中定義的IBOutlets如何出現在IB的Table View Cell中(有點像IBOutlets在文件所有者中出現的次數)?它們在表格視圖單元被定義爲TVCell類型時出現。這對於表格視圖單元格是獨特的嗎? –