如何在iOS中使用RestKit 2.X?

如何在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"

我刚开始使用RestKit,但我完全不明白它是如何工作的。。。 请找个地方给我解释一下好吗

我的Json文件是:

    {
    "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开始,一直到这个。。。