Restkit映射错误

时间:2012-10-19 15:42:52

标签: iphone ios core-data restkit

我是restkit的新手,我在我的应用程序中使用它以及核心数据。我非常惊讶restkit与核心数据一起工作的方式。简直太棒了。但是在解析我的一个Web服务时,我遇到了一个重大问题。该应用程序继续崩溃,无法映射响应中的值。以下是我的回复 -

[     {         “id”:10,         “创造”:“2012-10-06 13:32:09 +0000”,         “createdBy”:null,         “functionalCurrency”:null,         “imageUrl”:null,         “lat”:null,         “lon”:null,         “maxOccupancy”:0,         “名称”:“天井用餐”,         “posX”:0,         “posY”:0,         “reportingCurrency”:null,         “salesTaxRate1”:0,         “salesTaxRate2”:0,         “salesTaxRate3”:0,         “salesTaxRate4”:0,         “timezone”:“ - 0830”,         “transactionalCurrency”:null,         “更新”:“2012-10-06 13:32:09 +0000”,         “updatedBy”:null}]

我收到以下错误.-

E restkit.object_mapping:RKObjectMappingOperation.m:262将关键路径“locationId”的属性映射到值10时验证失败。错误:无法完成操作。 (可可错误1610.) - [__ NSCFNumber length]:无法识别的选择器发送到实例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也发生了同样的事情,因此没有数据进入我的核心数据文件。

1 个答案:

答案 0 :(得分:5)

这真是非常令人尴尬,经过大量的敲击后终于找到了问题。核心数据中我的locationId的最大值设置为1.这导致验证错误。