2012-10-19 4 views
2

나는 restkit을 처음 사용하고 있으며 핵심 데이터와 함께 응용 프로그램에서 사용하고 있습니다. Restkit이 핵심 데이터와 함께 작동하는 방식에 꽤 놀랐습니다. 그것은 단순히 놀랍습니다. 하지만 내 webservices 중 하나를 구문 분석하는 동안 주요 문제에 직면입니다. 앱이 계속 충돌하고 응답에서 값을 매핑 할 수 없습니다. 10, "창조": "2012년 10월 6일 13시 32분 9초 0000", "createdBy"다음은 내 응답 -Restart 매핑 오류

[ { "ID"는 null, "functionalCurrency" : 널 (null), "이미지 URL", 널 (null) "위도"널 (null), "경도"널 (null), "maxOccupancy": 0, "이름": "파티오 식당", "POSX": 0, " 0, "reportingCurrency": null, "salesTaxRate1": 0, "salesTaxRate2": 0, "salesTaxRate3": 0, "salesTaxRate4": 0, "timezone": "-0830", "transactionalCurrency": null, "업데이트 됨": "2012-10-06 13:32:09 +0000", "updatedBy": null }]

나는 다음과 같은 error.-

E의 restkit.object_mapping 무엇입니까

: RKObjectMappingOperation.m을 : 키 경로에서 'locationId'매핑 속성 (10) 오류 가치를하면서 262 검증 실패 : 작업이 '나오지 않았어 완료 되십시오. (코코아 오류 1610) - [__ NSCFNumber 길이] : 나는 follows-

RKURL *baseURL = [RKURL URLWithBaseURLString:serverUrl]; 

      objectManager = [RKObjectManager objectManagerWithBaseURL:baseURL]; 

      objectManager.client.baseURL = baseURL; 

      objectManager.client.requestQueue.showsNetworkActivityIndicatorWhenBusy = YES; 
[RKObjectManager setSharedManager:objectManager]; 

[objectManager loadObjectsAtResourcePath:[NSString stringWithFormat:@"%@", [URL resourcePath]] delegate:self]; 
로 관리자를 초기화

@interface Location : NSManagedObject 


@property (nonatomic,strong)NSNumber *locationId; 
@property (strong, nonatomic) NSString *created; 
@property (nonatomic,strong) NSString *createdBy; 
@property (nonatomic,strong) NSString *functionalCurrency; 
@property (nonatomic,strong) NSString *imageUrl; 
@property (strong, nonatomic) NSString *lat; 
@property (strong, nonatomic) NSString *lon; 

follows-로 인스턴스에 보낸 인식 할 수없는 선택기 0x774e020

내 위치 클래스 선언

locationString을 NSString으로 설정하려고하면 RKObjectManager가 '9'다음의 값과 단순히 일치하지 않습니다. NSNumber로 설정하면 '2'다음의 값과 일치하지 않습니다.

도와주세요. RKManagedObjectMapping에서도 똑같은 일이 일어나므로 핵심 데이터 파일에 데이터가 저장되지 않습니다.

+0

개체 매핑을 설정하는 코드는 무엇입니까? –

+0

예 ... 매핑 용 코드입니다. RKObjectMapping * locationMapping = [RKObjectMapping mappingForClass : [위치 클래스]]; locationMapping.setNilForMissingRelationships = YES; [self setLocationsMapping : locationMapping]; [objectManager.mappingProvider setMapping : 위치 매핑 forKeyPath : @ ""]; - (무효) setLocationsMapping (RKObjectMapping *) 개체 { \t [오브젝트 mapKeyPathsToAttributes "locationId"@ "ID"@ \t, @ "창조", "창조"@ \t "functionalCurrency"@ @ "functionalCurrency", nil]; –

답변

5

마침내 머리를 두드리는 것이 마침내 문제를 파악한 후에 매우 당혹 스럽습니다. 핵심 데이터에서 내 locationId의 최대 값은 1로 설정되었습니다. 이는 유효성 검사 오류의 원인입니다.