cho*_*bin 2 iphone core-data ios restkit
使用restkit的开发分支(0.20),有没有办法将JSON字符串映射到核心数据对象存储中?
我知道在0.10中,本页底部描述的方法有效但是如何在restkit 0.20中执行此操作?任何指导赞赏!谢谢!
id<RKParser> parser = [[RKParserRegistry sharedRegistry] parserForMIMEType:MIMEType];
id parsedData = [parser objectFromString:JSONString error:&error];
RKObjectMappingProvider* mappingProvider = [RKObjectManager sharedManager].mappingProvider;
RKObjectMapper* mapper = [RKObjectMapper mapperWithObject:parsedData mappingProvider:mappingProvider];
RKObjectMappingResult* result = [mapper performMapping];
Run Code Online (Sandbox Code Playgroud)
我昨天安装了RESTKit v0.20.0pre4,并且对一个特定情况也有同样的需求.
以下是我要映射的JSON字符串的示例:
{"info":"the sun is shining","detail":"in Bordeaux ~ 29 °C"}
Run Code Online (Sandbox Code Playgroud)
这就是我执行映射的方式.
- (InfoRESTMapped *)mapInfoFromJSONString:(NSString *) JSONString{
NSString* MIMEType = @"application/json";
NSError* error;
NSData *data = [JSONString dataUsingEncoding:NSUTF8StringEncoding];
id parsedData = [RKMIMETypeSerialization objectFromData:data MIMEType:MIMEType error:&error];
if (parsedData == nil && error) {
//deal with error
}
RKObjectMapping *infoMapping = [RKObjectMapping requestMapping];
[infoMapping addAttributeMappingsFromDictionary:@{
@"info": @"myInfo",
@"detail": @"myDetail",
}];
InfoRESTMapped *infoMapped = [[InfoRESTMapped alloc] init];
RKMappingOperation* mapper = [[RKMappingOperation alloc] initWithSourceObject:parsedData destinationObject:infoMapped mapping:infoMapping];
[mapper performMapping:&error];
return infoMapped;
}
Run Code Online (Sandbox Code Playgroud)
这些帖子让我得到了我建议的解决方案:
我希望它有所帮助.我猜其他一些将在最终版本发布时提供更好的解决方案(也有更好的文档......).
归档时间: |
|
查看次数: |
1999 次 |
最近记录: |