2012-11-20 8 views
1

을 직렬화하면 짧은 방법이 있습니까?RestKit 객체 단축키

iam은 일부 술어로 모든 핵심 데이터 객체를 가져 와서 RestKit과 정의 된 매핑을 사용하여 JSON으로 파싱합니다 ... 여전히 RestKit을 사용하고 싶지만 더 간단하게 수행 할 수 없습니까?

- (NSArray *)serializedManagedObjectClass:(Class)managedObjectClass updatedSinceRevision:(long long)revision { 

    NSArray * managedObjects = [managedObjectClass MR_findAllSortedBy:@"createdDate" ascending:YES withPredicate:[NSPredicate predicateWithFormat:@"revision > %lld", revision]]; 

    NSError * error = nil; 

    NSMutableArray * serializedObjects = [[NSMutableArray alloc] initWithCapacity:[managedObjects count]]; 

    for (NSManagedObject * managedObject in managedObjects) { 

     id object = [NSMutableDictionary new]; 

     RKObjectMappingOperation * op = [RKObjectMappingOperation mappingOperationFromObject:managedObject toObject:object withMapping:[self.objectManager.mappingProvider serializationMappingForClass:managedObjectClass]]; 
     BOOL success = [op performMapping:&error]; 

     if ((success) && (error == nil) && (object)) { 
      [serializedObjects addObject:object]; 
     } else { 
      ALog(@"Serialization problem with %@, possible error %@", managedObject, error); 
     } 

    } 

    return serializedObjects; 
} 
+0

이 일련화된 객체가 RestKit이있는 서버로 전송됩니까? – danielM

+0

예, 다른 매개 변수와 함께 –

답변

0

각 개체를 개별적으로 매핑 할 필요는 없습니다. 해당 클래스의 직렬화 매핑을 설정하면 RestKit은 해당 객체의 인스턴스를 보내려고 할 때 직렬화를 처리합니다. 이미 클래스에 대한 매핑을 만들고 할당 한 것 같습니다.

이제 관리 대상 개체 배열을 서버에 보내는 매개 변수 사전에 추가하면됩니다. RestKit은 제공되는 매핑에 따라 각 객체를 매핑해야합니다.

관련 문제