RestKit:映射二维数组(Collection in Collection)
Posted
技术标签:
【中文标题】RestKit:映射二维数组(Collection in Collection)【英文标题】:RestKit: Map 2-Dimensional Array (Collection in Collection) 【发布时间】:2012-02-29 15:24:04 【问题描述】:我只是试图解析一个包含二维数组的 JSON 对象。
例子:
"2dimarray": [
["key": "val", "key": "val"],
["key": "val", "key": "val"]
]
假设2dimarray[x][y]
的内容只有一种,我添加了映射:
[objectMapping mapKeyPath:@"2dimarray" toRelationship:@"2dimarray" withMapping: myMappingForIncludedObjects];
在日志中 RestKit 告诉我:
W restkit.object_mapping:RKObjectMappingOperation.m:438 WARNING: Detected a relationship mapping for a collection containing another collection. This is probably not what you want. Consider using a KVC collection operator (such as @unionOfArrays) to flatten your mappable collection.
但实际上这正是我想要的。基本上我假设对象映射器会用NSArray*
s 填充我的Objective-C 属性NSArray* 2dimarray
,其中包括用myMappingForIncludedObjects
映射的对象。相反,每个数组都映射(当然失败了)myMappingForIncludedObjects
。
我做错了什么?或者更好:我需要做什么来归档我预期的行为?
【问题讨论】:
这个issue 似乎解决了这个问题。但是,在给定的示例中,外部数组仍然包含对象,这在我的场景中并非如此。 【参考方案1】:我相信你引用的问题是布莱克解释问题,而不是解决方案。我不认为 RestKit 设置为处理您描述的映射(对象数组的数组)。您可以浏览他在问题中描述的示例以及查看他的提交,您会发现引入的逻辑旨在检测问题并将其记录下来以进行调试。
【讨论】:
以上是关于RestKit:映射二维数组(Collection in Collection)的主要内容,如果未能解决你的问题,请参考以下文章