开发者

unload View after calling presentModalViewController?

I have some view controller which I call with the following method:

myViewController *myView = [[myViewControll开发者_JAVA技巧er alloc] initWithNibName:nil bundle:nil];
    myView.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    [self presentModalViewController:myView animated:YES];
    [myView release];

if I use the app a few times I get a memory warning and the app freezes for a few seconds! I think the reason is that i switch the view but not discharged the old one !!?!!?!! (i set my outlets to nil and release them)

how can I unload the old view after switching to the new one?

Thanks in advance


When switching the view be sure to call dismissModalViewController:(BOOL)animated on myViewController.


In the class that launch the modalViewController you could make a property for the modal viewcontroller which you retain. Then you could write something like this.

//This would be in an action or something...
if (self.myViewControllerProperty == nil) {
    self.myViewControllerProperty = [[[MyViewController alloc] initWithNibName:nil bundle:nil] autorelease];
}

[self presentModalViewController:self.myViewControllerProperty animated:YES];

Then instead of setting the

myView.modalTransitionStyle = UIModalTransitionStyleCoverVertical;

Move that code to the modalViewController and write self.modalTransitionStyle = UIModalTransitionStyleCoverVertical; I think that looks cleaner, keep the configuration of each viewcontroller separted don't mix it up.

And as the maclema said, call dissmissModalViewController, but you probably are doing that...


Could be any number of problems but you don't need to (and can't) unload the old view. Make sure you are releasing objects and setting outlets to nil in viewDidUnload of all of your view controllers. viewDidUnload will be called when a memory warning occurs so if you don't handle it correctly you'll have leaks and can crash. Other than that, hard to know what else your app is doing that is contributing to the crash.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜