Restkit 0.10.0 & ios 6.1 - objectLoaderWithResourcePath:delegate 方法不进行 http 调用
Posted
技术标签:
【中文标题】Restkit 0.10.0 & ios 6.1 - objectLoaderWithResourcePath:delegate 方法不进行 http 调用【英文标题】:Restkit 0.10.0 & ios 6.1 - objectLoaderWithResourcePath:delegate method not making http call 【发布时间】:2013-04-01 03:54:28 【问题描述】:我的 ios 代码(使用 Restkit 0.10.0)在 iPhone 5.1 模拟器中运行良好。但是,相同的代码似乎不适用于 iPhone 6.1 模拟器。
在下面的代码中,[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 的示例。
任何帮助表示赞赏。
【问题讨论】:
【参考方案1】:好的。每当我在 iphone 5.1 模拟器和 6.1 模拟器之间切换时,问题似乎就会发生。我坚持原来的方法。对我有用的解决方案是 1) 从模拟器中卸载应用和
2) 清理并重建项目。
古怪 - 但有效。
【讨论】:
以上是关于Restkit 0.10.0 & ios 6.1 - objectLoaderWithResourcePath:delegate 方法不进行 http 调用的主要内容,如果未能解决你的问题,请参考以下文章
Rails 3.1 & RestKit 0.9.3 - 引用映射