如何在iOS中使用RestKit 2.X?
我刚开始使用RestKit,但我完全不明白它是如何工作的。。。 请找个地方给我解释一下好吗 我的Json文件是:如何在iOS中使用RestKit 2.X?,ios,objective-c,json,restkit,restkit-0.20,Ios,Objective C,Json,Restkit,Restkit 0.20,我刚开始使用RestKit,但我完全不明白它是如何工作的。。。 请找个地方给我解释一下好吗 我的Json文件是: { "colors": { "red":"#f00", "green":"#0f0", "blue":"#00f", "cyan":"#0ff", "magenta":"#f0f", "yellow":"#ff0", "black":"#000"
{
"colors":
{
"red":"#f00",
"green":"#0f0",
"blue":"#00f",
"cyan":"#0ff",
"magenta":"#f0f",
"yellow":"#ff0",
"black":"#000"
}
}
我托管此文件的路径是:http://186.36.181.116/tesis/file.json
我在ViewDidLoad方法中尝试的代码是:
- (void)viewDidLoad
{
[super viewDidLoad];
RKObjectMapping *mapping = [RKObjectMapping mappingForClass:[colores class]];
[mapping addAttributeMappingsFromArray:@[@"colors"]];
NSIndexSet *statusCodes = RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful); // Anything in 2xx
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:mapping method:RKRequestMethodAny pathPattern:@"/tesis/:coloresID" keyPath:@"colors" statusCodes:statusCodes];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://186.36.181.116/tesis/file.json"]];
RKObjectRequestOperation *operation = [[RKObjectRequestOperation alloc] initWithRequest:request responseDescriptors:@[responseDescriptor]];
[operation setCompletionBlockWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *result) {
colores *colores = [result firstObject];
NSLog(@"Mapped the article: %@", colores);
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
NSLog(@"Failed with error: %@", [error localizedDescription]);
}];
[operation start];
}
我的“颜色”课程如下:
#import <Foundation/Foundation.h>
@interface colores : NSObject{}
@property (weak, nonatomic) IBOutlet NSString *colores;
@end
#导入
@接口颜色:NSObject{}
@属性(弱,非原子)字符串*颜色;
@结束
提前非常感谢你 您可以找到详细的教程和完整的源代码 为了正确地将响应映射到JSON,我们必须执行以下操作: *为托管对象模型中的每个实体创建RKEntityMapping实例
*在JSON响应键和对象属性之间添加映射
*在嵌入式JSON对象和关系之间添加映射
*使用映射创建响应描述符
*可选:如果您计划放置或发布,请使用映射创建请求描述符谢谢,我会阅读,但希望尝试运行上面的代码,但谢谢。根据您的JSON和URL,映射描述符和响应描述符错误/不匹配。尝试将键/值对字典映射到一组对象也需要特殊处理,因为键都是任意的(除非它们是静态的)。我建议你从一个简单的JSON开始,一直到这个。。。