gpt4 book ai didi

cocoa - 如何从其他应用程序添加新的托管对象?

转载 作者:行者123 更新时间:2023-12-03 17:42:46 25 4
gpt4 key购买 nike

我使用 Core Data 只是创建选中“使用 Core Data”的项目,使用 XCode 默认创建的代码,并在必要时添加或修改一些内容。

现在我有一个“主”应用程序,并且创建了一个辅助应用程序(状态栏项目应用程序、LSUIElement = 1 和登录项目)。帮助应用程序作为主应用程序目标依赖项构建并复制到主应用程序“资源”文件夹中。

单击状态栏图标时,帮助程序应用程序会向用户显示一个窗口,以收集一些信息以根据主应用程序核心数据模型创建新的托管对象。

但是,如何从主应用程序的辅助应用程序创建新的托管对象?

现在我正在考虑:

  • 检查主应用程序是否打开(我不知道是否可能)
  • 如果它已打开,请让主应用程序使用字典以及从辅助应用程序发送的信息执行选择器(我不知道是否可能)
  • 如果它很接近,则(在帮助程序应用程序中)创建一个持久存储协调器,使用主应用程序中的模型和持久存储文件管理对象模型并管理对象上下文。创建新的管理对象。而且我不知道每次用户创建新的 MO 时终止 MOC、MOM 和 PSC 是否更好,以避免主应用程序打开时发生冲突,或者它不是最佳的并且可能会影响性能......

这是一个好方法吗?有什么可以开始的吗?提前致谢

最佳答案

你必须创建一个托管对象吗?如果您只是在帮助程序应用程序中收集简单数据,那么通过分布式通知中的 userinfo 字典将该输入传递到主应用程序会更简单。然后主应用程序可以创建托管对象,并且您不必处理两个上下文之间的合并更改。

否则,您必须向辅助应用程序传递到 MOM 的路径,在辅助应用程序中创建 MOC,创建对象,保存 MOC,同时通知主应用程序通过传递已更改对象的 ID 来合并更改、重新加载主应用程序的模型对象等等。我已经让它工作了,但是这是一个非常令人头痛的事情并且容易出错。如果可能的话,我会避开这条路线。

编辑:我刚刚意识到您希望能够写入主应用程序的商店,即使它没有运行。听起来您在编写任何代码之前需要重新考虑这一点。如果帮助器应用程序自行执行,则它并不是真正的帮助器应用程序。您能否更详细地说明您实际想要实现的目标?这种黑客攻击实际上并不是一个好主意,可能会导致数据损坏。

关于cocoa - 如何从其他应用程序添加新的托管对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8006955/

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