0

コア データを使用して iOS アプリケーションにデータを保存しています。2 つのエンティティがあり、一方から他方への対多関連 (たとえば、1 つのコース -> 多くの学生、1 人の学生 -> 多くの学年) とその逆があります。

学生 (または学年) の新しいインスタンスを作成し、コース (または学生) (NSManagedObject) に合格するたびに、この参照は保存できず、 になりnullます。例外なく、オブジェクトの他のすべての値が保存されますが、コースへの参照はnull.

私がやっていること:

NSEntityDescription *entity = [NSEntityDescription entityForName:@"Student" inManagedObjectContext:context];
Student *newStudent = (Student *)[[NSManagedObject alloc]initWithEntity:entity insertIntoManagedObjectContext:context];


[newStudent setLastname:_lastname.text];
[newStudent setFirstname:_firstname.text];
[newStudent setNote:_note.text];

NSNumber *tmp = [NSNumber numberWithInt:(int)[[(AppDelegate *)[[UIApplication sharedApplication]delegate] staticDataObject]increaseGlobalSchuelerID]];
[newStudent setId:tmp];


[newStudent setCourse:(Course *)_detailItem];
[newStudent setDesktopID:[NSNumber numberWithInt:-1]];


NSError *error = nil;
if (![context save:&error]) {
    NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
    abort();
}

_detailItem はエンティティの NSManagedObject ですcourse。なぜそれが機能しないのですか?

前もって感謝します!

4

1 に答える 1

0

たぶん、_detailItem に newstudent を追加することを意味する、逆の関係を同時に構築することを試みることができます。昨日、この方法で同様の問題を解決しましたが、その理由は本当にわかりません。

于 2013-11-21T16:21:09.333 に答える