我在xcode4中運行儀器,它告訴我在下面的代碼中有兩處泄漏(由****
記錄)。我以爲我在代碼處理了內存釋放的問題。 A和pt。 B.如何解決pushViewController周圍的內存泄漏問題?
我在這裏通讀了一些相關的主題,但仍然無法弄清楚爲什麼以及如何解決它們。
另一個問題是,是否在pt發佈。 A是必要的。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//Get the dialog id
NSDictionary *rowData = [dialogs objectAtIndex:indexPath.row];
NSInteger dialogId = [[rowData objectForKey:@"id"] intValue];
DialogViewController *detailViewController = [[DialogViewController alloc] initWithNibName:@"DialogViewController" bundle:nil];
detailViewController.dialogId = dialogId;
NSString *title = [NSString stringWithFormat:@"%d. %@", [[rowData objectForKey:@"id"] intValue], [rowData objectForKey:@"title"]];
****** i 6.8%
[detailViewController.dialogTitle release]; // pt. A
detailViewController.dialogTitle = [title retain];
[self.navigationController pushViewController:detailViewController animated:YES];
****** i 93.2%
[detailViewController release]; // pt. B
}
非常感謝! 魯
rekle,謝謝你的回答!那麼你知道爲什麼Xcode4的泄漏工具將pt.B標記爲泄漏嗎?我應該把它作爲一個假陰性還是有可能是DialogViewController泄漏?你會建議什麼? –