여기 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];
결국 코어 데이터를 가져와 관련 범주 (이미 데이터베이스에 추가됨)를 찾아 이벤트에 연결 하시겠습니까?
내가 얻는 순간
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary entity]: unrecognized selector sent to instance 0x893a8c0'
어떤 도움이라도 대단히 감사하겠습니다. 감사합니다!
categories
인 NSSet
의가 NSDictionaries
있지만,
- (void)addCategories:(NSSet *)values;
기대 NSSet
의 NSManagedObject's
. 따라서 NSManagedObject
범주를 설명하는 각 사전에서을 만들고 새 NSSet
(또는 NSMutableSet
)에 추가 한 다음 addCategories:
새 집합으로 만 호출 해야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다