我正在使用版本 0.1 并使用 loadObjectsAtResourcePath:usingBlock: 和 loadObjectsAtResourcePath:delegate: 方法获取数据。要使用的映射是使用对象管理器的 mappingProvider 属性上的 setObjectMapping:forKeyPath: 方法设置的。
现在,如果数据以映射提供者所期望的格式出现,那么一切顺利。但是,如果不是格式,应用程序就会崩溃。在调试时,我发现 RKObjecLoader.m 方法中的“if [self isResponseMappable]”检查是崩溃发生前最后执行的行。
这是一个例子。如果出现这样的 JSON,一切顺利 - {"topic_details":""}
但是,如果此 JSON 出现,应用程序将崩溃 - ["Access Denied"]
这是指定的映射键路径 - [objectManager.mappingProvider setObjectMapping:topicMapping forKeyPath:@"topic_details"]
如何处理,没有什么可以阻止 Web 服务返回意外数据。这是一个严重的问题。
移动到更高版本会有帮助吗?