不要把你的代碼了if (cell == nil)
塊。相反,請爲您正在製作的單元格創建一個代表性標識符;請嘗試確保標識符中引用了所有單元格的內容。例如,如果您顯示3個數字,請確保以唯一的方式在標識符中包含這三個數字,這隻會引用具有此類內容的單元格。
比方說,在你的類中有三個NSArray屬性,它們的int值都包含在NSNumber對象中。你想用這些NSArrays填補了UITableView的,這是我會怎麼做:
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *identifier = [NSString stringWithFormat:@"%@-%@-%@",
[[array1 objectAtIndex:indexPath.row] intValue],
[[array2 objectAtIndex:indexPath.row] intValue],
[[array3 objectAtIndex:indexPath.row] intValue]];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:identifier] autorelease];
//Build your cell here.
}
return cell;
}
你節省了我的時間。謝謝!我不會猜到這個愚蠢的錯誤:) – Pruthvid
很高興我的解決方案可以幫助別人! –