我正在为食谱编写一个基于核心数据的 Cocoa 应用程序。我有一个成分实体,并且想要创建一个与其他成分的成分替代品关系,但是在设置关系或保存我无法弄清楚的商店时出现错误。这是实体描述:
Ingredient
Attributes:
ingredientName type:String
Relationships:
ingredientSubstitutes destination:Ingredient inverse:ingredientSubstitutes
在我的笔尖中,我有 3 个阵列控制器:
- 所有成分 AC
- 可用的替代品 AC
- 精选成分替代 AC
我有 3 个表视图,每个视图都显示这些数组控制器的内容。然后我有一个按钮来添加一种成分作为另一种成分的替代品,绑定如下
Button bindings
Target: All Ingredients AC.selection
Selector Name: addIngredientSubstitutesObject:
Argument: Available Substitutes AC.seletion
使用此设置,只要我单击添加按钮,应用程序就会抛出无法识别的选择器发送到实例异常:“-[_NSControllerObjectProxy 实体]:无法识别的选择器发送到实例”,好像成分无法识别 addIngredientSubstitutesObject。我添加了一个代理方法,以确保这是无法识别的选择器,这确实是问题所在。
在尝试了一堆东西但无处可去之后,作为一个实验,我改变了模型,所以成分替代品没有逆:
Ingredient
Attributes:
ingredientName type:String
Relationships:
ingredientSubstitutes destination:Ingredient inverse:*none*
当我运行它时,添加成功,并且所有表都会相应更新,但是在保存时,我得到了一个不同的无法识别的选择器,并且应用程序抛出了一个异常:
-[_NSControllerObjectProxy _isKindOfEntity:]:无法识别的选择器发送到实例
关于可能发生的事情有什么建议吗?我采取了错误的方法吗?