2014-06-10 1 views
0

코드를 사용하여 작동하지 추가관계에있는 객체가 블록을 저장 수행 할 MagicalRecord saveWithBlock

@class Stock; 

@interface StockCategory : NSManagedObject 

@property (nonatomic, retain) NSString * categoryId; 
@property (nonatomic, retain) NSString * name; 
@property (nonatomic, retain) NSSet *stocks; 
@end 

@interface StockCategory (CoreDataGeneratedAccessors) 

- (void)addStocksObject:(Stock *)value; 
- (void)removeStocksObject:(Stock *)value; 
- (void)addStocks:(NSSet *)values; 
- (void)removeStocks:(NSSet *)values; 

@end 

json 모양은 다음과 같습니다.

[ 
    { 
    "name": "iPad mini ", 
    "categories": [ 
     { 
     "name": "iPad", 
     "_id": "538c655fae9b3e1502fc5c9e", 
     "__v": 0, 
     "createdDate": "2014-06-02T11:51:59.433Z" 
     } 
    ], 
    }, 
    { 
    "name": "iPad Air ", 
    "categories": [ 
     { 
     "name": "iPad", 
     "_id": "538c655fae9b3e1502fc5c9e", 
     "__v": 0, 
     "createdDate": "2014-06-02T11:51:59.433Z" 
     } 
    ], 
    } 
] 

프로를 열면 "iPad 공기"라는 이름으로 재고 만 볼 수 있으므로 카테고리가 저장됩니다. 나는 이유를 알 수 없다. saveWithBlock 부분에서 json에서와 동일한 _id에 대한 컨텍스트에서 먼저 찾은 다음 관계에 범주 객체를 추가 할 수 있습니다. 작동하지만 전부는 아닙니다. 왜 그런가요? enter image description here

답변

0

데이터 모델을 변경하여 카테고리가 Stock 엔티티와 대다수의 관계를 가질 수 있도록해야합니다. one-to-one 관계가되면 코드가 기존 관계를 바꿉니다.

+0

나는 <<-> 재고의 관계가 있습니다. 그러나 둘 다 반비례하지 않습니다. –