PresentModalViewController:在哪里发布?

Der*_*rek 3 iphone objective-c

要使用presentModalViewController我必须allocinitWithNibName:bundle:一个视图.我的问题是:我在哪里发布它?是否dismissModalViewController:animated:处理释放?

Ben*_*ieb 5

您可以在出示控制器后释放; 呈现控制器(其父级)将保留您的模态控制器.


San*_*ier 5

不.如果您分配并初始化它,则必须释放它.像这样做:

YourViewController *controller = [[YourViewController alloc] initWithNibName:@"YourView" bundle:nil];
[self presentModalViewController:controller animated:YES];
[controller release];
Run Code Online (Sandbox Code Playgroud)

PresentModalViewController:animated:自动增加retainCount.一旦控制器从视图中消失,它将释放控制器.因此控制器将被解除分配.;-)