我有一個UITableViewcontroller重用於不同的數據 - RecipeItems和ConvertedRecipeItems(它是RecipeItem的子類)的數組。UITableCell textLabel超出範圍
第一次,我查看ConvertedRecipeItems細胞渲染正常。如果我查看單元格的細節然後返回,則SECOND ConvertedRecipeItem會崩潰應用程序。調試時,我看到單元格的textLabel「超出了範圍」。我無法弄清楚會造成這種情況。
請注意,對於常規RecipeItems,這一切工作正常。
這裏是的cellForRowAtIndexPath代碼:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"RecipeCell";
UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
//we're storing so don't auto-release
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
// Set up the cell...
NSUInteger row = [indexPath row];
RecipeItem* r = [recipes objectAtIndex:row];
cell.textLabel.text = r.name;
return cell;
}
謝謝!
是的。我嘗試了autorelease,發生了同樣的事情。 tl和tls只是讓我可以檢查問題出在哪裏。同樣,它們根本不影響結果。 – rmw 2011-03-07 01:30:09
我會認爲這個問題可能在tl和tls中。除此之外,在這裏看起來並不是什麼問題。你可以發佈更多的代碼(表代表方法和RecipeItem的代碼)。這也可能是食譜的問題 - 嘗試使用self.recipes。 – FeifanZ 2011-03-07 02:11:31