非常基本的cellForRowAtIndexPath實現。UITableViewCell內存管理
我想知道爲什麼分析儀告訴我,我在這裏泄漏內存。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
MyObject *object = [[self.datasource objectForKey:key] objectAtIndex:indexPath.row];
cell.textLabel.text = object.title;
return cell;
}
分析儀告訴我'cell'可能泄漏。這只是分析儀的一個弱點,或者我應該如何處理?
注意:添加一個電話自動釋放,像這樣:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier] autorelease];
導致系統崩潰。有什麼想法嗎?
是否使用ARC?你的'if(cell == nil)裏面的 – 2012-11-20 17:38:10
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; }'你的alloc/init沒有autorealease看看是否有幫助 –