我正在嘗試使用帶有.xib文件的UITableView。過去我已經用故事板完成了這個過程,您在動態原型中聲明瞭重用ID。我有這樣的代碼- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
函數內部它應該工作:dequeueReusableCellWithIdentifier:即使在創建單元格實例後也返回nil
NSString *ReuseId = @"DefaultCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ReuseId];
if (cell == nil) {
NSLog(@"cell == nil");
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:ReuseId];
}
然而,當我運行它,而不是打印cell == nil
一旦它打印它的每一行。
爲什麼?
謝謝。
好的。清楚一點:因爲TableViewController可以容納大約12個單元格,所以在我向下滾動到第13個單元然後回到頂部之後,它纔會開始重用單元格。 – carloabelli
沒有。因爲11或12完全或部分適合屏幕。 tableview只會創建足夠的單元格,以便在滾動時放在屏幕上。 – vikingosegundo
我相信你誤解了我的問題。讓我改述一下:第二行中的單元格是否被重用,或者表格視圖第一次加載時,只有單元格不可見? – carloabelli