简体   繁体   中英

iOS Memory Leak cellForRowAtIndexPath

The leak instrument points to "cell.textLabel.text = str;" as a memory leak. I am not sure why since I autoreleased the cells.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *MyIdentifier = @"MyIdentifier";

// Try to retrieve from the table view a now-unused cell with the given identifier.
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];

// If no cell is available, create a new one using the given identifier.
if (cell == nil) {
    // Use the default cell style.
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier] autorelease];
}

// Set up the cell.
NSString *str = [array objectAtIndex:indexPath.row];
cell.textLabel.text = str;

return cell;
}

您可能尚未释放用于获取Strings的数组对象。此外,请尝试从数组中提取值后强制转换为

   str= [NSString stringWithFormat:"%@",(NSString *)[array objectAtIndex:indexPath.row]];

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM