Coredataのリレーション代入で「NSInvalidArgumentException」発生
- 2015.01.31
- iOS
Coredataの使用中に、リレーション(OneToMany)に値を代入すると、下記エラーが出る。
‘NSInvalidArgumentException’, reason: ‘*** -[NSSet intersectsSet:]: set argument is not an NSSet’
発生条件はよくわからないが、iOSのコードジェネレーターのバグっぽい。
[参考]NSInvalidArgumentException with NSOrderedSet using CoreData
上記サイトを元に、NSOrderedSetを追加する関数に対して、関数をオーバライド。
- (void)addStudents:(NSOrderedSet *)values; { // ミュータブルなOrderedSetを作る NSMutableOrderedSet *mutableStudents = [[NSMutableOrderedSet alloc] initWithOrderedSet:self.students]; [mutableStudents unionOrderedSet:values]; self.students = mutableStudents; }
動いた!
-
前の記事
redis : ‘tcp-backlog 511’ Bad directive or wrong number of arguments 2015.01.27
-
次の記事
DjangoのManyToManyFieldの値が取れない 2015.02.01