我想通过使用 Cocoa Touch 库来检查 iOS 上是否有互联网连接,或者使用 Cocoa 库在 macOS 上进行检查。
我用 NSURL
想到了一种方法来实现这一点。但是我觉得这种方法有点不可靠(因为即使谷歌某天挂了,依赖于第三方也是不好的),而且如果谷歌不能响应,我可以检查其他网站的响应,但这似乎是浪费并增加了额外负担。
- (BOOL)connectedToInternet {
NSString *URLString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com"]];
return ( URLString != NULL ) ? YES : NO;
}
我所做的是否不好,(更不用提 stringWithContentsOfURL
在 iOS 3.0 和 macOS 10.4 中已被弃用),如果不好,有什么更好的方法可以实现这个功能吗?
return !!URLString
或者return URLString != nil
,甚至比return (BOOL)URLString;
更好。这样做可以使代码更加简洁易懂,而且表达的意思与原文一致。 - user529758NSString *URLString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"https://twitter.com/getibox"] encoding:NSUTF8StringEncoding error:nil];
来消除烦人的警告。 - Abdelrahman Eid