Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Core data 在NSPersistentDocument中创建新的NSManagedObject拒绝保存,即使“撤消”显示为“尽可能”_Core Data_Nsmanagedobject_Nsdocument_Nspersistentdocument - Fatal编程技术网

Core data 在NSPersistentDocument中创建新的NSManagedObject拒绝保存,即使“撤消”显示为“尽可能”

Core data 在NSPersistentDocument中创建新的NSManagedObject拒绝保存,即使“撤消”显示为“尽可能”,core-data,nsmanagedobject,nsdocument,nspersistentdocument,Core Data,Nsmanagedobject,Nsdocument,Nspersistentdocument,我有一个CoreData/NSPersistentDoc应用程序。它很好用 我向MOM添加了一个新实体,并更新了版本 现在,当我在MOC中创建该实体的新实例时,“保存”菜单项将保持禁用状态,直到/除非我创建应用程序中已有的旧实体的任何实例 标题栏上的红点按钮正确地变为黑色,表示文档已更改-但OS X/NSDocument拒绝承认这一点-无法进行保存 有什么想法吗?我找到了原因/解决方案-这是我自己的错误,但这个答案可能会帮助其他人解决类似问题 我使用苹果的官方方法来启用复制/粘贴菜单项(通过实现

我有一个CoreData/NSPersistentDoc应用程序。它很好用

我向MOM添加了一个新实体,并更新了版本

现在,当我在MOC中创建该实体的新实例时,“保存”菜单项将保持禁用状态,直到/除非我创建应用程序中已有的旧实体的任何实例

标题栏上的红点按钮正确地变为黑色,表示文档已更改-但OS X/NSDocument拒绝承认这一点-无法进行保存


有什么想法吗?

我找到了原因/解决方案-这是我自己的错误,但这个答案可能会帮助其他人解决类似问题

我使用苹果的官方方法来启用复制/粘贴菜单项(通过实现ValidateNuItem),并在正确的时间返回复制和粘贴的真/假

我还返回了NSPersistentDocument的其他所有实现(包括Save,尽管我没有看到)

然后,当我添加新的NSManagedObject时,我添加了一个子视图和子视图控制器,并将ValidateNuItem委托给它—即,这样它就可以处理自己的复制/粘贴状态

…但我没有“如果它不是复制粘贴,并且它不是由子类处理的,也不是由我的NSPersistenDocument子类处理的…那么将其交给NSPersistentDocument来决定”的代码路径

…因此保存菜单项从未启用过