1

ゴールとアクターを保存したい。2つのエンティティは、責任関係に関連しています。

Goal *addgoal = (Goal*)[NSEntityDescription insertNewObjectForEntityForName:@"Goal" inManagedObjectContext:context];

    addgoal.goalNaam = nameTextField.text;
    addgoal.goalId = idField.text;
    addgoal.goalBeschrijving = beschrijvingField.text;

    Actor *addactor = (Actor*)[NSEntityDescription insertNewObjectForEntityForName:@"Actor" inManagedObjectContext:context];

    addactor.actorNaam = responsibleField.text;

    [addgoal addResponsibilityObject:addactor];

上記の行([addgoal addResponsibility:addactor])がエラーの原因ですが、何が問題になっていますか?

Goal.hで:

@interface Goal (CoreDataGeneratedAccessors)
- (void)addResponsibilityObject:(Actor *)value;
@end

エラー:

2012-08-02 20:57:11.838 Choose3 [7434:fb03]-[__ NSCFSetエンティティ]:認識されないセレクターがインスタンス0x8877810に送信されました2012-08-02 20:57:11.840 Choose3 [7434:fb03] *キャッチされなかったためにアプリを終了します例外'NSInvalidArgumentException'、理由:'-[__ NSCFSetエンティティ]:認識されないセレクターがインスタンス0x8877810に送信されました'

4

2 に答える 2

5

同じ問題が発生しました。ここでの解決策は、モデルインスペクター内のリレーションシップオプションで「To-Many」オプションをチェックするのを忘れたことです。

于 2012-10-18T09:36:12.220 に答える
0

コアデータは、責任関係の性質について混乱しているようです。NSManagedObjectデータモデルの現在の状態に一致するサブクラスを作成することをお勧めします。

このエラーを作成する1つの方法は、エンティティクラスファイルを再生成せずに、to-many関係をto-one関係に変更することです。

于 2012-08-02T19:54:24.683 に答える