1

首先...我是意大利人,所以我很抱歉我的英语不好!

所以...这是我的应用程序:我正在使用导航控制器:在第一个视图中,有 10 个按钮,每个按钮都调用如下函数:

    [self pushViewController:nameview animated:YES];

到不同的uiviewcontroller!所以我有11个uiviewcontroller!每个控制器都像这里一样被清除

@interface ...
IBoutlet UIViewController *viewcontroller;
...
@property (nonatomic, retain) IBOutlet UIViewController *viewcontroller;

最后我不得不说我正在和IB一起工作!

我的问题是我的应用程序没有释放内存!当我在视图中并点击“backbuttonitem”(由 IB 创建,而不是由我创建)时,最后一个视图没有被释放(再次,对不起我的英语不好)......如果用户看到所有10查看,app收到一条警告消息(内存不足)!

如何释放 popviewcontroller 操作之前看到的最后一个视图?

感谢:D

4

1 回答 1

1

当您将视图控制器推送到导航控制器时,您需要释放它,因为导航控制器现在拥有它。例如,您将执行以下操作:

UIViewController *controller = [[UIViewController] initWithNibName:@"Nib" bundle:nil];
[self pushViewController:controller animated:YES];
[controller release];

然后,当您使用popViewControllerAnimated:导航控制器时,将确保视图控制器从内存中释放。

于 2010-06-19T16:35:45.467 回答