2012-10-19 209 views
2

我是restkit的新手,我將它與核心數據一起用於我的應用程序。 restkit與核心數據一起工作的方式讓我感到非常驚訝。這簡直太神奇了。但是在解析我的一個Web服務時,我面臨一個主要問題。該應用程序不斷崩潰,無法映射響應中的值。以下是我的應答爲Restkit映射錯誤

[ { 「ID」:10, 「創造」: 「2012年10月6日13時32分09秒+0000」, 「createdBy」:空, 「functionalCurrency」 :空, 「IMAGEURL」:空, 「LAT」:空, 「LON」:空, 「maxOccupancy」:0, 「名」: 「沁園餐廳」, 「POSX」:0, 「 「0」, 「reportingCurrency」:null, 「salesTaxRate1」「salesTaxRate4」:0, 「timezone」:「-0830」, 「transactionalCurrency」:null, 「updated」:「2012-10-06 13:32:09 +0000」, 「updatedBy」:null }]

我正在以下error.-

Êrestkit.object_mapping:RKObjectMappingOperation.m:262驗證失敗,而在關鍵路徑「locationId」映射屬性值10錯誤:操作couldn」完成。 (可可錯誤1610) - [__ NSCFNumber長度]:發送到實例無法識別選擇0x774e020

我的位置類被聲明如下 -

@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; 

我初始化管理者如下 -

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]; 

當我嘗試將locationId設置爲NSString時,RKObjectManager根本不匹配'9'後的任何值。當設置爲NSNumber時,它不匹配'2'後的任何值。

請幫幫我。 RKManagedObjectMapping發生同樣的事情,因此沒有數據進入我的核心數據文件。

+0

設置對象映射的代碼是什麼? –

+0

是的......這是我的映射代碼。 RKObjectMapping * locationMapping = [RKObjectMapping mappingForClass:[Location class]]; locationMapping.setNilForMissingRelationships = YES; [self setLocationsMapping:locationMapping]; [objectManager.mappingProvider setMapping:locationMapping forKeyPath:@「」]; - (無效)setLocationsMapping:(RKObjectMapping *)對象 { \t [對象mapKeyPathsToAttributes: \t @ 「ID」,@ 「locationId」, \t @ 「創建」,@ 「創建」, @ 「functionalCurrency」,@ 「functionalCurrency」,零]。 –

回答

5

嗯,這真的很尷尬,經過很多頭撞後終於找出了問題。核心數據中我的locationId的最大值被設置爲1.導致驗證錯誤。