- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试使用 RestKit 0.24.0 将 JSON NSString 映射到一个对象,其中我有一个 RKObjectMapping 以及相应的字典。
网上的大部分解决方案都是引用RestKit 0.22及以下版本。
SO 上的一些解决方案导致应用程序崩溃。
将本地字符串转换为对象的最简单方法是什么。考虑以下内容
代码更新
RKMapperOperation *mapper = [[RKMapperOperation alloc] initWithRepresentation:parsedData mappingsDictionary:[RJobObject mappingDictionary]];
RJobObject * rrrr = [[RJobObject alloc] init];
mapper.targetObject = rrrr;
//mapper.mappingOperationDataSource = parsedData;
[mapper execute:nil];
这里,mappingDictionary
基本上就是JSON键和Object变量名之间的键值对匹配所以在上面的代码中,每当我运行 execute
时,应用程序就会崩溃。
堆栈跟踪
2015-11-22 09:12:29.193 Help[22427:699579] -[__NSCFConstantString forceCollectionMapping]: unrecognized selector sent to instance 0x1022736a0
2015-11-22 09:12:29.211 Help[22427:699579] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFConstantString forceCollectionMapping]: unrecognized selector sent to instance 0x1022736a0'
*** First throw call stack:
(
0 CoreFoundation 0x0000000105d7dc65 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x0000000105a14bb7 objc_exception_throw + 45
2 CoreFoundation 0x0000000105d850ad -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
3 CoreFoundation 0x0000000105cdb13c ___forwarding___ + 988
4 CoreFoundation 0x0000000105cdacd8 _CF_forwarding_prep_0 + 120
5 Help 0x000000010212f424 -[RKMapperOperation mapRepresentationOrRepresentations:atKeyPath:usingMapping:] + 132
6 Help 0x000000010212fe97 -[RKMapperOperation mapSourceRepresentationWithMappingsDictionary:] + 1959
7 Help 0x00000001021307a2 -[RKMapperOperation main] + 1330
8 Foundation 0x00000001034c4774 -[__NSOperationInternal _start:] + 645
9 Help 0x00000001021310b7 -[RKMapperOperation execute:] + 39
10 Help 0x0000000101f62f8e -[AppDelegate fetchJobsFromDB] + 1102
更多详情
更新到 RestKit 0.26.0
,我仍然面临这个问题。
基本上在 RKMapperOperation.m
中,第 333 行 po mapping.forceCollectionMapping
给出了一个错误并导致应用程序崩溃。
答案:示例解决方案使用 RKMappingOperation
,因为我们不必指定 keyPath
RJobObject * rrrJob = [RJobObject new];
RKMappingOperation *mappingOperation = [[RKMappingOperation alloc] initWithSourceObject:jobEntity.dictionary destinationObject:rrrJob mapping:[RJobObject mapping]];
mappingOperation.dataSource = (id)rrrJob;
[mappingOperation start];
最佳答案
对于您正在尝试执行的操作,“parsedData”应该是从 JSON 字符串反序列化的字典或数组,[RJobObject mappingDictionary]
应该是字典,其中的键是源键路径和值是 RKMapping
定义如何处理内容的实例。
这个想法是,关键路径决定了如何深入 JSON 数据,而映射决定了如何处理在那里找到的内容。如果您想处理整个 JSON 数据,您的关键路径可能是一个空字符串。
如果您想避免关键路径的复杂性,并且要将整个 JSON 映射到单个目标对象,您可以考虑使用 RKMappingOperation
。
关于ios - 如何使用带有 RKObjectMapping 的 RestKit 0.24 将本地 JSON 字符串映射到对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33844808/
我没有回应: { "orders": [ { "date": "2013-11-18T13:00:39.000Z", "state": "new", "
请帮助使用 RestKit 进行集合映射,我不知道如何做到这一点。 我的 JSON 就像 { "result":{ "success":"1", "message":"You logg
我是 RestKit 的新手,正在尝试映射一个 json 对象,其中包含我的模型的对象数组。我已经调试并发现响应命中我的服务器-> json 返回-> RestKit 说映射成功并且我映射了 1 个对
我正在使用 RestKit iOS 包来允许用户从他们拥有的帐户中提取信息。下面的代码在第一次通过时完美运行。但是,如果我第二次尝试使用不同的用户名和密码,它只会加载第一次映射调用中的信息。此外,当第
我正在尝试使用 RKObjectMapping 执行对象映射。 这是我的 JSON 示例: { "notification": { "created_at":
所以,我有一个 api 调用,它将以下面的格式输出一些原始 json... 有点乱,但我只对此 json 的 Mapping 部分感兴趣。如果我能够访问原始数据,我会将 json 序列化为我想要迭代的
我正在使用 RestKit 的对象映射将 JSON 数据映射到对象。 是否可以将纬度和经度 JSON 属性映射到 CLLocation我的 Objective-C 类中的变量? JSON: { "it
假设我有这样的 JSON: { "hits": 4056, "books": [ { "name": "Book 1" },
我有一个名为 Activity 的 swift 模型,它可以选择附加一个 coordinate。 import MapKit class Activity: NSObject { var co
我“pod update”,现在我的RestKit版本是0.25.0,我的RKValueTransformers是1.1.2,出现错误“RKObjectMapping.h”not found。 Res
我想在嵌套的 RLMObject 中设置相同的主键。 如何使用 RKObjectMapping 设置相同的 id? 首先,我制作了以下 json 文件。 JSON 文件 { "id": 1 "
如何使用 RestKit RKObjectMapping 映射下面嵌套的 json?我只需要映射“数据”。我当前的下面代码返回 (null) - 谢谢! { "sucess": true,
我有以下代码: NSString *url = @"http://mysite.com" RKURL *baseURL = [RKURL URLWithBaseURLString:url];
我想更新我的一些项目 pod,在运行 pod update "some_framework"并尝试构建项目后出现此错误: import "RKObjectMapping.h" file not fou
我正在尝试使用 RestKit 0.24.0 将 JSON NSString 映射到一个对象,其中我有一个 RKObjectMapping 以及相应的字典。 网上的大部分解决方案都是引用RestKit
我是一名优秀的程序员,十分优秀!