2012-12-21 3 views
3

요청을하고 코어 데이터에 응답을 넣으려고 할 때 다음과 같은 오류가 발생합니다.RestKit 0.20 매핑 문제

Performing managed object mapping with a nil managed object cache: 
Unable to update existing object instances by identification attributes. Duplicate objects  may be created. 

identifactionAttributes를 설정하고 Object Manager를 사용하여 요청 작업을 구성합니다. 그리고 여전히 "기존 개체 인스턴스를 업데이트 할 수 없습니다 ..."메시지가 나타납니다.

objectMapping = [RKEntityMapping mappingForEntityForName:@"Entity"  inManagedObjectStore:self.managedObjectStore]; 
      objectMapping.identificationAttributes = @[ @"route_id" ]; 
      [objectMapping addAttributeMappingsFromDictionary:@{ 
      @"point_alt" : @"point_alt", 
      @"point_lat" : @"point_lat", 
      @"point_long" : @"point_long", 
      @"location_id" : @"location_id", 
      @"route_id" : @"route_id" 
      }]; 


NSMutableURLRequest *request = [[RKObjectManager sharedManager] requestWithObject:nil  method:RKRequestMethodPOST path:path parameters:paramsWithEncr]; 

RKManagedObjectRequestOperation *operation = [[RKObjectManager sharedManager] managedObjectRequestOperationWithRequest:request managedObjectContext:self.managedObjectStore.mainQueueManagedObjectContext success:^(RKObjectRequestOperation *operation, RKMappingResult *result) { 
     NSLog(@"Loading mapping result: %d", result.count); 
    } failure:^(RKObjectRequestOperation *operation, NSError *error) { 
     NSLog(@"Fail!"); 
    }]; 
+0

그 메시지는 경고입니다. 경고를 없애고 싶니? 아니면 더 큰 문제가 있습니까? 마찬가지로 어떤 객체도 데이터베이스에 저장되지 않습니다. – plu

+0

데이터베이스에 개체가 저장되지 않았습니다 ... –

답변

1

Object Manager와의 핵심 데이터 통합을 구성하지 않았습니다. 동일한 문제가있는 경우 수행해야하는 작업은 다음과 같습니다.

NSManagedObjectModel *managedObjectModel = [NSManagedObjectModel mergedModelFromBundles:nil]; 
RKManagedObjectStore *managedObjectStore = [[RKManagedObjectStore alloc] initWithManagedObjectModel:managedObjectModel]; 
NSString *path = [RKApplicationDataDirectory() stringByAppendingPathComponent:@"Store.sqlite"]; 
[managedObjectStore addSQLitePersistentStoreAtPath:path fromSeedDatabaseAtPath:nil withConfiguration:nil options:nil error:nil]; 
[managedObjectStore createManagedObjectContexts];