0

我的 ios 代码(使用 Restkit 0.10.0)在 iPhone 5.1模拟器中运行良好。但是,相同的代码似乎不适用于 iPhone 6.1 Simulator。

在下面的代码中,[objectLoader send] 被调用,我看到调用被添加到 RKRequestQueue。但是,没有进行 http 调用,并且活动指示器不停地旋转。

-(void)myMethodCall:(NSString*)myparam1 password:(NSString*)myparam2{
RKObjectMapping* wsReturnMapping = ... //assume some complex mapping logic lives here

RKObjectLoader *objectLoader = [objectManager objectLoaderWithResourcePath:@"/somevalidurl" delegate:self]; //this line shows a deprecation warning
objectLoader.method = RKRequestMethodPOST;
objectLoader.objectMapping = wsReturnMapping;
objectLoader.params = [NSDictionary dictionaryWithObjectsAndKeys:myparam1, @"myparam1", myparam2, @"myparam2", nil];
[objectLoader send];
}

我还尝试了这些方法来进行 http 调用(但没有奏效):

替代方法1:

    [objectManager loadObjectsAtResourcePath:@"/somevalidurl" usingBlock:^(RKObjectLoader *loader) {
    loader.delegate = self;
    loader.method = RKRequestMethodPOST;
    loader.objectMapping = wsReturnMapping;
    loader.params = [NSDictionary dictionaryWithObjectsAndKeys:myparam1, @"myparam1", myparam2, @"myparam2", nil];
}];

替代方法2:

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:myparam1, @"myparam1", myparam2, @"myparam2", nil];
NSString *resourcePath = [@"/somevalidurl" appendQueryParams:dict];
[objectManager loadObjectsAtResourcePath:resourcePath delegate:self];

问题:

1) 有没有人让 Restkit 0.10.0 与 iOS 6.x 一起工作?

2) 知道为什么 [objectLoader send] 没有进行 http 调用吗?(适用于 iOS 5.x)

3)如果升级 Restkit 是唯一的选择,我还能利用我拥有的objectMapping吗?换句话说,我在最近的 Restkit 中找不到使用 objectMapping 的示例。

任何帮助表示赞赏。

4

1 回答 1

0

行。每当我在 iphone 5.1 模拟器和 6.1 模拟器之间切换时,问题似乎就会发生。我坚持原来的方法。对我有用的解决方案是
1)从模拟器中卸载应用程序,然后

2)清理并重建项目。

古怪-但有效。

于 2013-04-02T16:36:30.377 回答