我真的很喜欢用 RestKit 0.20 来解析这个特定的响应:
"addons": [
{
"id": 1,
"name": "Addon one",
"version": 2
},
{
"id": 2,
"name": "Addon two",
"version": 3
}
],
"forms": [
{
"id": 1,
"name": "Form one",
"version": 1
}
]
问题是我需要将响应转换为同一类的对象数组,例如
@interface MyCoreDataObject : NSManagedObject
@property (nonatomic, retain) NSString * uid;
@property (nonatomic, retain) NSNumber * version;
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSString * type;
@end
鉴于此,对象数组的键应映射到 type 属性,并且映射结果上方的响应结果应类似于对象数组(以及数据库中的表):
uid name version type
1 Addon one 2 addons
2 Addon two 3 addons
1 Form one 1 forms
这也很重要,ID和Type用作身份属性,所以映射完成后我无法设置类型值,因为在这种情况下,RestKit将无法找到数据库中已有的对象并创建另一个对象一个而不是更新现有的一个。
有可能解决这个问题吗?
谢谢大家的回答!
P.S.:在我的挣扎中,我找到了一些方法来做到这一点,比如为特定类型(用于插件、表单等)创建一个对象,或者在映射完成后设置类型,但这似乎是一个非常沉重的解决方案简单的问题。