gpt4 book ai didi

iphone - 如何在 iPhone 应用程序中处理域对象?

转载 作者:行者123 更新时间:2023-12-03 16:26:38 25 4
gpt4 key购买 nike

我现在已经有了一些应用程序,但我对此还比较陌生。我正在寻找最佳实践建议,甚至是我不知道的 Cocoa Touch 框架的功能(如果有人知道的话)。

在第一个应用程序中,我在应用程序委托(delegate)中创建了域对象,然后根据需要将它们传递给我的 ViewController。例如,在 App Delegate 中,我会尝试从内存中加载用户的帐户,如果存在,我会使用 initWithCoder 创建一个 Account 对象。然后,每当我实例化需要 Account 对象的 ViewController 时,我都会将其传递给具有自己的 account 属性的 ViewController。

但是我觉得我的应用程序中有太多代码,所以我决定让我的 ApplicationDelegate 管理我的域对象。每当 ViewController 需要一个 ViewController 时,它就会像这样查询 ApplicationDelegate:

MyAppDelegate* myAppDelegate = [UIApplication sharedApplication].delegate;
ADomainObject* anObject = myAppDelegate.anObject;

这疯了吗?这是不是一个好主意?我完全是自己编出来的,所以我想知道是否有更好的东西。由于我是 iPhone 开发新手,我正在努力学习做事的最佳方式...

最佳答案

您所描述的内容有效;在桌面上处理核心数据时,我使用了相同的策略,其中我的应用程序具有由应用程序 Controller 拥有的单个托管对象上下文。除了 Alex 提到的单例之外,另一种常见策略是实现一个“数据 Controller ”来处理加载和管理域对象的逻辑。在这种情况下,您的应用程序 Controller 仍将负责初始化和管理数据 Controller 和 View Controller 之间的关系,但它不会因模型对象特定代码而困惑。

关于iphone - 如何在 iPhone 应用程序中处理域对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/635678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com