iphone - 使用 JSON 字符串使用 RestKit 将对象手动加载到核心数据中

标签 iphone ios core-data restkit

使用restkit(0.20)的开发分支,有没有办法将JSON字符串映射到核心数据对象存储?

我知道在 0.10 中,这个 page 底部描述的方法有效,但如何在 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];

最佳答案

我昨天安装了 RESTKit v0.20.0pre4 并且对一个特定案例有同样的需求。

这是我要映射的 JSON 字符串的示例:

{"info":"the sun is shining","detail":"in Bordeaux ~ 29 °C"}

这就是我执行映射的方式。

- (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;
}

这些帖子让我找到了我建议的解决方案:

希望对你有所帮助。我想当最终版本发布时,其他一些人会提供更好的解决方案(也有更好的文档......)。

关于iphone - 使用 JSON 字符串使用 RestKit 将对象手动加载到核心数据中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12793668/

相关文章:

iphone - 在iPad编程中使用多线程时出现问题(用于加载大量图像)

ios - Swift模板库

ios - SVG LinearGradient 未在 iOS Ionic/Angular 应用程序中渲染

ios - 不要删除 UITable 的第一行

ios - RestKit - 从 RKRequestDescriptor 中排除具有 nil 值的属性映射

ios - 如何处理自定义 Tableview 单元格 iOS 中的“收藏夹”按钮点击?

iphone - 将 *.pdf 导入我的应用程序 iphone

iphone - 当没有互联网连接时无法计算 ScrollView 的高度

iphone - 如何检查星期几(即星期二、星期五?)并比较两个 NSDates?

ios - 如何使用 Objective-C 填写 HTML 表单