你在Xcode 4中绑定了NSArrayController的托管对象上下文?

我正在尝试构建一个基于文档的啤酒审阅应用程序,允许您输入笔记。 我已经在Core Data和Interface Builder中的视图中构建了模型。 遵循一些基于Xcode 3的教程,我被告知将新的NSArrayController连接到文件所有者的managedObjectContext。 如果我尝试在Xcode 4中执行此操作,那么NSArrayController的检查器中的“模型关键路径”旁边会出现一个圈出来的感叹号。

实际上,我可以在Xcode 3中的Interface Builder中加载.xib文件,建立连接,然后在Xcode 4中构建它并运行,但是每个字段都会产生验证错误。

该模型具有名为Scoresheet的实体,该实体具有名为date的属性,该属性是NSDate。 但是如果我将它链接到NSDatePicker的值并尝试将其保存到磁盘,它说我有“多个验证错误”。 怎么可能? 他们都是NSDates,对不对? 其实,我也遇到了与所有事物绑定的问题。 我的UI对象都不能用于我的模型。

我唯一能想到的是文件所有者和NSArrayController之间的连接出现问题。

在这一点上,我还没有编写任何代码,因为我的理解是,我不应该只是将UI字段和核心数据链接起来。 它是不同的,因为我正在使用基于文档的应用程序? (我无法在单个窗口应用中使用它。)

“不使用核心数据”的答案不会很有成效; 我知道我可以回到一个普通的数据对象上。 如果可能的话,我想在核心数据的背景下解决这个问题。

TIA!

(更新:这个问题似乎让很多人烦恼,我已经咨询了关于核心数据的Zarra书,Hillegas关于可可编程的书以及两本O'Reilly书,他们都是基于Xcode 3的。)


NSPersistentDocument拥有自己的托管对象上下文,您应该将文档的xib文件中的NSArrayController绑定到该托管对象上下文。

例如,如果你的文档类叫做MyDocument,那么Xcode会为你自动生成一个MyDocument.h / .m / .xib。 在.xib中,文件所有者是MyDocument类的一个实例,您可以使用绑定文件的所有者 - > managedObjectContext将NSArrayController绑定到此。


我遇到了同样的问题(Hillegass第11章中的CarLot例子,对吧?)

以下博客条目来自编写和维护与NSManagedObjects一起使用的扩展的开发人员,并认为这是XCode 4中的一个错误,并已在rdar中提交了报告:http://danieltull.co.uk/blog/2011/04/ 20 / xcode中-4-和创造-nsmanagedobject亚类/

我有一台带有XCode 3的机器,我最终会在4中放弃这个,在XCode 3中创建项目并将其导入到XCode 4中。

编辑添加:在XCode 3中添加元素并链接出口,然后将项目导入到XCode 4中可以正常工作,但这似乎是XCode 4中的一个错误。我没有从XCode 4中得到验证问题。

链接地址: http://www.djcxy.com/p/52893.html

上一篇: What do you bind NSArrayController's Managed Object Context to in Xcode 4?

下一篇: Textures in OpenGL ES 2.0 for Android