作为 iOS 的新手,我发现 ARC 迄今为止确实有助于快速开发。话虽如此,有一些警告我不确定 ARC 如何适合以前长期存在的 iOS 模式,例如 MVC。这是我试图描绘事物的方式,我将不胜感激任何澄清或更正我的理解。
我正在使用 Storyboard 为我的应用程序实例化和设置一些视图控制器。从我读过的文档中,当活动视图控制器转到不同的视图控制器时,发送视图控制器的实例变量会丢失(是吗?/否?)。因此,我使用模型层来存储应用程序的数据。现在在这里我的理解开始变得(更多)模糊..
假设我只有一个视图控制器正在使用模型数据对象。我从视图控制器(在 viewDidLoad 中)分配和实例化数据对象。所以现在我从我的控制器中引用了数据对象,当控制器在前台时,可以自由地协调从视图到控制器,可能到数据对象,再到控制器的信息,以使用更新视图MVC 模式。嗯不错..
但是当我转到不同的视图控制器时,发送者控制器的实例变量会丢失,因此对数据对象的唯一引用也会丢失。那么ARC是否也会自动释放数据对象?
我的目标是能够为特定的视图控制器保存数据,这样当我返回它时,我可以用保存的状态更新它。这是如何在 iOS 中使用 MVC 和 ARC 完成的?我想到的选项(记住,我是新人,哈哈)
- 在 Application Delegate 中包含对数据对象的引用。它不会去任何地方,所以对数据对象的引用也不会。这个好精确吗?
- 将所有数据以静态形式存储在数据类对象中?
- 使用 NSUserDefaults
任何建议将不胜感激。谢谢你的时间。