【发布时间】:2014-02-09 11:17:55
【问题描述】:
我是 iOS 开发的新手,如果您能与我分享一些您的经验,我会很高兴。
我正在构建一个应用程序,它基本上是“选择你自己的冒险”书籍的多媒体版本。我有一个显示一些内容的视图控制器,当它接收到来自用户的交互(例如点击按钮)时,会显示一个新的视图控制器。
我的做法是这样的:
我将潜在的下一个视图控制器的头文件导入到当前视图控制器的头文件中。然后我定义 IBActions 以跳转到下一个控制器:
#import "path1ViewController.h"
#import "path2ViewController.h"
...
-(IBAction)goToPath1:(id)sender;
-(IBAction)goToPath2:(id)sender;
...
然后,在实现文件中,每当触发 IBAction 时,我都会创建新控制器的实例并将它们推送到导航控制器中:
-(IBAction)goToPath1:(id)sender{
path1ViewController *path1VC = [[path1ViewController alloc] init];
[self.navigationController pushViewController: path1VC];
}
这对应用来说是个好方法吗?
我还注意到,当我在控制器之间来回跳转时,应用程序消耗的内存会增加,这意味着它们没有被释放。有什么想法吗?
编辑: 这就是我在控制器之间切换时内存指示器发生的情况。 ARC 已激活:
【问题讨论】:
-
我希望这些步骤可以帮助您释放内存 [在此处输入链接描述][1] [1]:stackoverflow.com/questions/9496029/ios-arc-not-freeing-memory
标签: ios objective-c uiviewcontroller uinavigationcontroller workflow