从0.10到0.20的问题升级RestKit

我无法弄清楚如何纠正从RestKit 0.10升级到0.20后得到的错误…任何人都可以帮忙吗?

谢谢!

ViewController.m

- (void)viewDidLoad { // Wain, I added this RKResponseDescriptor RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:[Feed mapping] method:RKRequestMethodAny pathPattern:nil keyPath:@"springs" statusCodes:nil]; // These 4 lines has errors and needs to be fixed // No visible @interface for 'RKObjectManager' declares the selector 'loader' [[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/springs/?apikey=xxx" usingBlock:^(RKObjectLoader *loader) { loader.onDidLoadObjects = ^(NSArray *objects){ springs = objects; // These 2 lines have errors that need to be fixed // Use of undeclared identifier 'loader' [loader.mappingProvider setMapping:[Spring mapping] forKeyPath:@"springs"]; loader.onDidLoadResponse = ^(RKResponse *response){ } 

我看到了GitHub的帮助页面,但是我不能单靠这个来解决这个问题。 真的很感激!

更新

好吧,我想我明白如何更换第一行,只需使用[RKObjectManager.sharedManager getObjectsAtPath:@"/springs/?apikey=xxx" parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult)

但我仍然不知道如何处理loader.onDidLoadObjects = ^(NSArray *objects)部分!

您显示的0.1x代码会下载响应数据,然后调用您的callback来询问如何处理它,以便在callback中提供映射。

0.2x不能这样工作。 在进行请求之前,它将所有映射作为configuration,映射与响应描述符相关联(因此RestKit可以search所有configuration选项并应用匹配的所有内容)。

所以,在实际从服务器获取任何内容之前,您需要将您的configuration应用到RKObjectManager