gpt4 book ai didi

iphone - 如何创建同步版本的 NSURLConnection

转载 作者:行者123 更新时间:2023-11-28 18:25:46 25 4
gpt4 key购买 nike

我在 NSIncrementalStore 中使用 NSURLConnection 将我的 NSManagedObject 与 Rails 中内置的基于休息的 Web 服务同步。我知道 +sendSynchronousRequest:returningResponse:error 但我的理解是不允许我访问诸如 HTTP 响应状态代码之类的东西,我需要正确处理响应,我的理解是 sendSynchronousRequest如果它在 200 范围内响应,则返回数据;如果没有响应,则返回失败,并且实际上并没有给您更多。

我假设在 NSURLConnection 被实例化后我将以某种方式必须阻止当前方法调用,并在 NSURLConnection 的委托(delegate)设置一些可以是的值后取消阻止它由阻塞方法返回。

我假设这将涉及 NSLock 和 NSThread 的某种组合,但我不知道从哪里开始。

最佳答案

如果将从 returningResponse: 参数中获得的响应对象转换为 NSHTTPURLResponse,则可以访问状态代码和其他 HTTP 特定的响应值。

NSURLResponse* response = nil;
NSError* error = nil;
NSData* data = [NSURLConnection sendSynchronousRequest:request
returningResponse:&response
error:&error];
NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response;
if ([httpResponse statusCode] == 200) {
// ...
}

关于iphone - 如何创建同步版本的 NSURLConnection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9864840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com