我正在使用以下方法來檢查我的應用是否有連接。這很簡單,對我的需求很好。NSTimer? - 檢查連接iOS
+ (void)checkInternet:(connection)block
{
NSURL *url = [NSURL URLWithString:@"http://www.google.com/"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
request.HTTPMethod = @"HEAD";
request.cachePolicy = NSURLRequestReloadIgnoringLocalAndRemoteCacheData;
request.timeoutInterval = 10.0;
[NSURLConnection sendAsynchronousRequest:request
queue:[NSOperationQueue mainQueue]
completionHandler:
^(NSURLResponse *response, NSData *data, NSError *connectionError)
{
block([(NSHTTPURLResponse *)response statusCode] == 200);
}];
}
但是,我想要做的是如果狀態不返回200,我想再次檢查,至少幾次。以1秒的間隔完成此操作的最佳方法是什麼?
下面是我如何調用上述方法。
[self checkInternet:^(BOOL internet)
{
if (internet)
{
// "Internet" aka Google
}
else
{
// No "Internet" aka no Google
}
}];
你爲什麼要檢查呢? – trojanfoe
爲什麼不使用Reachability類? – cekisakurek
只有當您打網絡服務時才檢查互聯網連接它可能會節省您的電池壽命。 –