Ben*_*Ben 9 core-data ios restkit xcode8
我有一个带有RestKit库和CoreData的iOS应用程序.从Xcode8开始,我可以看到比以前更多的日志,其中一个对我没有任何意义.
error: An observer of NSManagedObjectContextDidSaveNotification illegally threw an exception. Objects saved = {
inserted = "{(\n)}";
managedObjectContext = "<_PFWeakReference: 0x600000621560>";
updated = "{(\n ... )}";
}
and exception = [<_PFWeakReference 0x600000621560> valueForUndefinedKey:]: this class is not key value coding-compliant for the key @count. with userInfo = {
NSTargetObjectUserInfoKey = "<_PFWeakReference: 0x600000621560>";
NSUnknownUserInfoKey = "@count";
Run Code Online (Sandbox Code Playgroud)
到目前为止,我能理解的是对managedObjectContext的弱引用(错误上面的内容)使用了错误的键,但我无法弄清楚如何调试它.
与此问题相关的所有NSManagedObjects似乎都是集合.主要来自OneToMany或ManyToMany关系的NSSet.
然后我发现了这个Apple文档:
除@count外,所有集合运算符都需要集合运算符右侧的键路径.
但是,我看不到当前使用此密钥的任何谓词或CoreData请求.
我重新生成了所有的NSManagedObject模型,并仔细检查它们之间的所有反向关系,但它没有帮助我摆脱它.
这个应用程序运行正常,但我找不到任何解决方案来删除此警告.
我相信这已在PR 2449中修复,并已合并到development branch. 该 PR 包含此提交,旨在解决该问题。
我不确定 PR 是否已合并到master分支中,因此不确定它是否可以通过 pod 获得。但是您可以在 podfile 中指定特定的提交,而不是版本。所以如果你指定这个:
pod 'RestKit', :git => 'https://github.com/RestKit/RestKit.git', :commit => '9cbba9eb1b490c3c5e2873c8fba8e9c0fec1bf07'
Run Code Online (Sandbox Code Playgroud)
按照这里的建议,它应该可以工作!
但也许该提交与Swift 3不兼容,我对此不确定。但也许你没有使用 Swift 3...
| 归档时间: |
|
| 查看次数: |
1050 次 |
| 最近记录: |