iOS初心者はこちら
多対多の関係を持つエンティティが与えられた場合
@class Categories;
@interface Events : NSManagedObject
@property (nonatomic, retain) NSString * title;
@property (nonatomic, retain) NSSet *categories;
@end
@interface Events (CoreDataGeneratedAccessors)
- (void)addCategoriesObject:(Categories *)value;
- (void)removeCategoriesObject:(Categories *)value;
- (void)addCategories:(NSSet *)values;
- (void)removeCategories:(NSSet *)values;
@end
に関連するもの
@interface Categories : NSManagedObject
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSManagedObject *events;
@end
そして、イベント テーブルにデータを入力するための JSON データをいくつか用意します。
[{"title": "Test Exhibition", "categories": [{"name": "Exhibitions"}]}, {...}]
JSONデータを次のようにフォーマットするにはどうすればよいですか
// Parse Events JSON
[events enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
...
Events *event = [NSEntityDescription
insertNewObjectForEntityForName:@"Events" inManagedObjectContext:context];
event.title = [obj objectForKey:@"title"];
NSSet *categories = [[[NSSet alloc] init] setByAddingObjectsFromArray:[obj objectForKey:@"categories"]];
NSLog(@"CATS %@", categories);
[event addCategories:categories];
最終的に Core Data を取得して相対的なカテゴリ (データベースに既に追加されている) を見つけ、それをイベントに添付しますか?
私が得る瞬間に
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary entity]: unrecognized selector sent to instance 0x893a8c0'
どんな助けでも大歓迎です、ありがとう!