加載視圖時是否可以加載UITableView的所有單元格,以便在滾動時不加載它們? (我將顯示加載屏幕,而這樣做)UITableView:加載所有單元格
請,這是唯一的辦法,在我的項目(對不起太複雜解釋爲什麼^^)
編輯:
好讓我解釋一下你,就是我做的肯定:
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *cellIdentifier = [NSString stringWithFormat:@"Identifier %i/%i", indexPath.row, indexPath.section];
CustomTableCell *cell = (CustomTableCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
NSDictionary *currentReading;
if (cell == nil)
{
cell = [[[CustomTableCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier] autorelease];
UILabel *label;
UIView *separator;
if(indexPath.row == 0)
{
// Here I'm creating the title bar of my "table" for each section
}
else
{
int iPr = 1;
do
{
currentReading = [listData objectAtIndex:iPr-1];
iPr++;
} while (![[currentReading valueForKey:@"DeviceNo"] isEqualToString:[devicesArr objectAtIndex:indexPath.section]] ||
[readingresultsArr containsObject:[currentReading valueForKey:@"ReadingResultId"]]);
[readingresultsArr addObject:[currentReading valueForKey:@"ReadingResultId"]];
//
// ...
//
}
}
return cell;
}
發生在DO-while循環我的錯誤: 「的ListData」是與它的多個字典的數組。 我的問題是,當我慢慢滾動桌子時,一切都很好,但是當我快速滾動到視圖的末尾,然後滾動到中間位置時,出現iPr出錯的錯誤陣列的範圍。所以問題是,第一部分的最後一行已經添加到「readingresultsArr」中,但尚未加載或想要再次加載。 這就是爲什麼我想要一次加載所有單元格的原因。爲表中的每一行
[self tableView: self.tableView cellForRowAtIndexPath: indexPath];
:
「請,這是我的項目的唯一方式」 - 它當然**不應該**。請解釋一下,即使它很複雜。除此之外,這在內存管理方面也是非常糟糕的錯誤。 – 2012-09-04 17:52:24
@ H2CO3我編輯了我的問題並更詳細地描述了我的問題。希望您能夠幫助我。 – Michael
你能解釋一下你想用'do ... while'循環完成什麼嗎?看起來你正在試圖找到一個符合某些標準的對象,然後建立一個新的陣列,但爲什麼你需要在那裏做到這一點?你可以在重新加載表之前建立這個數組嗎? –