ios - 在后台运行代码并获取返回码

标签 ios objective-c

我有这个方法

    - (BOOL)connectedToInternet
{
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:
                                    [NSURL URLWithString:@"http://www.google.com/"]];

    [request setHTTPMethod:@"HEAD"];

    NSHTTPURLResponse *response;

    [NSURLConnection sendSynchronousRequest:request
                          returningResponse:&response error: NULL];

    return ([response statusCode] == 200) ? YES : NO;
}

该方法需要几秒钟才能完成,我在一个简单的 if 条件下使用它来了解我是否有互联网连接。

有什么方法可以在后台线程中执行此操作而无需更改所有代码。

我是这样调用它的

if([self connectedToInternet])

因此,如果我在后台线程中执行此操作,我将无法获得返回值,然后我的方法也无法返回该值。

如果我必须改变一切,那是不值得的。

希望您能理解我的问题,感谢您的帮助。

最佳答案

在 Apple 的“Reachability”中 Code Sample请注意 reachabilityWithAddress: 方法。

关于ios - 在后台运行代码并获取返回码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16710954/

相关文章:

objective-c - 如何从 Storyboard 中加载原型(prototype)单元?

ios 滑动 tableviewcell 删除有时工作

ios - 从哪里获得适用于 iOS 5 的 CoreTelephony.framework

ios - 查尔斯只显示未知包裹

ios - 几天后测试中的 iPhone 应用程序崩溃

ios - 在 iOS 中使用 Plist 文档目录填充 TableView

ios - 为什么当我结合 UIImagview 时我的模糊 View 变得透明?

ios - 有没有办法让 parse 允许 Facebook 登录?

ios - 如何在 objective-c 中获取json数据的响应?

objective-c - OSStatus 的 NSError