我是restkit的新手,我在我的应用程序中使用它以及核心数据。我对 restkit 处理核心数据的方式感到非常惊讶。这简直太棒了。但是我在解析我的一个网络服务时面临一个重大问题。该应用程序不断崩溃,并且无法从响应中映射值。以下是我的回应——
[ {“id”:10,“created”:“2012-10-06 13:32:09 +0000”,“createdBy”:null,“functionalCurrency”:null,“imageUrl”:null,“lat”:null ,“lon”:null,“maxOccupancy”:0,“name”:“Patio Dining”,“posX”:0,“posY”:0,“reportingCurrency”:null,“salesTaxRate1”:0,“salesTaxRate2”: 0,“salesTaxRate3”:0,“salesTaxRate4”:0,“timezone”:“-0830”,“transactionalCurrency”:null,“updated”:“2012-10-06 13:32:09 +0000”,“updatedBy “: 无效的}]
我收到以下错误。-
E restkit.object_mapping:RKObjectMappingOperation.m:262 将键路径“locationId”的属性映射到值 10 时验证失败。错误:操作无法完成。(Cocoa 错误 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 也发生了同样的事情,因此没有数据进入我的核心数据文件。