1
請檢查我的關於這兩個UIPopoverController和loadViewControllerUIPopoverController和內容的ViewController - 內存管理的問題
- (IBAction) manageCardSets:(UIBarButtonItem*)baritem {
LoadViewController *loadViewController = [[LoadViewController alloc] initWithStyle:UITableViewStylePlain];
self.loadPopover = [[UIPopoverController alloc] initWithContentViewController:loadViewController];
self.loadPopover.delegate = self;
[self.loadPopover presentPopoverFromBarButtonItem:baritem permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
[loadViewController release];
}
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController {
[popoverController.contentViewController release];
self.loadPopover = nil;
[_loadPopover release];
}
的發行方式正如你可以看到我發佈loadViewController兩次,代碼工作,無泄漏,但我有一些疑問。 如果我釋放一次,則不會在loadViewController中調用dealloc。
...或'loadPopover = [[UIPopoverController頁頭] initWithContentViewController:loadViewController]'+1爲正確答案 – Till
可能仍是更好地根據最初的例子,分配作爲伊娃的_loadPopover; loadPopover符號應該留給訪問者(setLoadPopover:和loadPopover:) – viggio24
@ viggio24你是否建議不要在課堂上使用該屬性?因爲我不同意,屬性封裝了內存管理代碼,從而減少了樣板。如果您直接指定後援ivar'_loadPopover',則必須確保釋放其先前的值。 – albertamg