2012-10-19 73 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.导致验证错误。