2

私のプレフィックスファイルにはこれがあります:

#define MR_SHORTHAND
#import "CoreData+MagicalRecord.h"


//this causes an unrecognized selector sent to instance crash
Apple *apple = [Face findFirstByAttribute:@"appleId" withValue:value];

//this works fine
Apple *apple = [Face MR_findFirstByAttribute:@"appleId" withValue:value];

//however this also works fine:
Orange *orange = [Face findFirstByAttribute:@"orangeId" withValue:value];

一部のエンティティでは速記を使用でき、他のエンティティでは使用できないのはなぜですか?

4

2 に答える 2

0

誰かが 2014 年にこの検索結果に出くわした場合に備えて、バージョン 2.2 以降では、略記を使用するためにインストールする必要がある Cocapod は次のとおりです。

pod 'MagicalRecord/Shorthand', '~> 2.2';

以下のスレッドの通り

https://github.com/magicalpanda/MagicalRecord/issues/668

于 2014-10-18T14:54:41.853 に答える
0

OK、これがあなたの助けになるかどうかはわかりませんが、私が抱えていた問題を修正しました.

「EventMessage」というエンティティがありましたが、名前が気に入らなかったので、「Message」に名前を変更しました。

これは私が問題を抱え始めたときです。

「メッセージが2回実装されています」というメッセージが表示されたのは、AppCodeからシミュレーターにアプリを実行しただけでした。

エンティティ (および関連するすべてのクラス) の名前を「EventMessage」に戻しましたが、現在は正常に動作しています。

でも、以前にコンパイルしたのは奇妙ですか?!

とにかく、やってみてください。たとえば、Face エンティティの名前を一意の「SoleilFace」であることがわかっている名前に変更し、それが修正されるかどうかを確認します。

于 2013-03-28T11:34:38.570 に答える