我刚安装了mogenerator
来在我的项目中创建Managed Objects
。
我之前没有mogenerator
工作。
我也在使用MagicalRecord
。
我有一个实体Message
,我正试图运行这条线......
return [Message countOfEntitiesWithPredicate:[NSPredicate predicateWithFormat:@"user == 123"]];
但我在这一行收到unrecognized selector
错误。
如果我将其更改为......
return [_Message countOfEntitiesWithPredicate:[NSPredicate predicateWithFormat:@"user == 123"]];
工作正常。但是愚蠢的事情是,我使用不同的谓词在几行之后执行相同的功能,并且在没有修复的情况下工作正常。我试过没有谓词但得到相同的结果。
修改
我只是试着评论这条线并放置......
return 0;
现在我在第二次使用这条线时得到了无法识别的选择器。这几乎就像我必须首先在_Message
上调用它来“初始化”CoreData!!?!
有什么想法吗?
编辑2
我试图跑步时也会得到这个...
[Message createEntity];
相同的无法识别的选择器。如果要对我所有的核心数据工作都这样做,这非常烦人。
答案 0 :(得分:1)
我有类似的问题。我意识到Core Data不喜欢名为“Message”和“Connection”的实体。使用我的自定义前缀对这些进行前缀解决了这个问题。
答案 1 :(得分:0)
我不知道100%这是答案,但是当我在iPhone模拟器中使用AppCode运行项目时,我看到一条奇怪的调试消息,说消息类已经实现了两次。
它必须已在我正在使用的另一个框架中实现。
当我将核心数据实体的名称更改为更独特的名称时,它工作正常。
我对所有TBH的编译感到惊讶。