我在我的iOS項目中使用了RestKit,並且發現了非平凡的問題並找不到解決方案。RestKit:動態屬性的映射(不像示例中的NSDictionary)
我有一個JSON:
[{
"name": "restkit",
"downloads": 2
},
{
"name": "restkit",
"rating": 10.0
}]
和數據模型:Model.h
@interface Model : NSObject
@property (nonatomic, strong) NSString * name;
@property (nonatomic, strong) NSString * key;
@property (nonatomic, strong) NSString * value;
@end
在一個陣列中裝載這些JSON對象和屬性之一是一個 「動態」 屬性。 在RestKit我希望能夠進行測繪後,有2個記錄:
name: "restkit", key: "downloads", value: 2
name: "restkit", key: "rating", value: 10.0
問題:如上面的例子中如何在一開始映射成JSON 2個NSObjects?
這是我如何使用RestKit和解僱請求初始化映射:
// during app initialization I setup mappings:
RKObjectMapping *modelMapping = [RKObjectMapping mappingForClass:[Model class]];
[metricDataMapping mapKeyPath:@"name" toAttribute:@"name"];
...... -- something should go here to support that dynamic stuff
[[RKObjectManager sharedManager].mappingProvider addObjectMapping:metricDataMapping];
// in the view controller when loading data
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:url usingBlock:^(RKObjectLoader *loader){
loader.objectMapping = [[RKObjectManager sharedManager].mappingProvider objectMappingForClass: [MetricData class]];
loader.onDidLoadObjects = ^(NSArray * objects){
self.dataArray = objects;
};
}];
的問題,就是按鍵「下載」和「等級」是動態的,它可以是任何文字。我需要解析「即時」並在UI中展示。 Restkit確實支持這種行爲,但僅適用於嵌套字典。
什麼問題? – 2012-08-07 19:52:16
對不起,添加確切的問題,我有。 – 2012-08-07 19:57:54
任何共鳴爲downvoting兩個答案?他們是正確的,很好的答案... – 2012-10-16 05:27:06