使用多个视图控制器时的可达性检查
Posted
技术标签:
【中文标题】使用多个视图控制器时的可达性检查【英文标题】:Reachability check when several view controllers are used 【发布时间】:2012-08-04 04:02:13 【问题描述】:我需要测试可达性,这个问题How to check for an active Internet connection on ios or OSX? 中提到的方法似乎很合适。但是我的应用程序使用了一个标签栏控制器,它又部署了多个视图控制器。我是否需要在每个视图控制器中实现可达性测试,或者我可以在 AppDelegate.m 中设置一次(然后在通知消息进入时设置一个 CONNECTION_OK 标志 [供视图控制器测试])?试图让事情尽可能简单。欢迎举例。
【问题讨论】:
【参考方案1】:对我来说,我使用来自Apple 的那个。特别是这两类方法来检查 Internet 连接或本地 WiFi 可用性。我在需要连接到 Internet 或本地 WiFi 之前就这样做了。
// Should be used by applications that do not connect to a particular host
+ (Reachability*) reachabilityForInternetConnection;
//reachabilityForLocalWiFi- checks whether a local wifi connection is available.
+ (Reachability*) reachabilityForLocalWiFi;
【讨论】:
【参考方案2】:您正在考虑做的事情是正确的。您可以仅在 AppDelegate 中实现可达性检查并更新视图控制器可以查询的状态变量(您的 CONNECTION_OK 标志)。这是正确的方法之一(从编程风格的角度来看)。
【讨论】:
以上是关于使用多个视图控制器时的可达性检查的主要内容,如果未能解决你的问题,请参考以下文章