首页 > 解决方案 > 在基于文档的可可应用程序中将 arrayControlle 绑定到 NSViewControllerr 导致 NSViewControllerr init(code :) 被调用多次

问题描述

我正在开发一个使用 coredata 的基于文档的可可应用程序,我将 NSViewController 绑定到 NSArrayController,如下所示:

https://developer.apple.com/library/archive/qa/qa1871/_index.html

,当我在一个文档中保存一些NSManagedObject然后从保存的文档中读取数据时,模型可以从保存的文档中读取,但是NSViewController被创建了很多次,例如,如果我在文档中保存了7个NSManagedObject,然后我打开保存的文档,我可以得到保存的7个NSManagedObject,但是NSViewController会创建7次,我该怎么办?谢谢

标签: nsarraycontrollerdocument-basedmanagedobjectcontext

解决方案


我解决了,因为我的 FUEAttributeVCBaseModelMO 类有一个属性“@NSManaged public var owner: FUEAttributeViewController?”,当我重新打开现有文档时,如果文档有 FUEAttributeVCBaseModelMOs,FUEAttributeVCBaseModelMO 的对象将调用 FUEAttributeViewController init。


推荐阅读