iphone - 可达性和通知中心

标签 iphone objective-c ios

我需要我的应用程序不断监听可达性变化并根据网络状态更新我的 View ,我正在考虑使用notificationcenter,并让我所有的 View 监听更改,但我不知道如何实现它。

我知道如何使用 notificationcenterReachability 但我似乎无法找到实现 Reachability check 的地方。

我应该在哪里检查网络变化,并通知其他 ViewControllers

我不认为 AppDelegate 是正确的地方,如果我将 Reachability 检查放在 ViewController 中,网络检查只会在 ViewController 处于“事件”状态。

最佳答案

创建一个“单例”Reachability 并在应用启动时对其进行初始化。

让单例定期检查可达性,例如使用 NSTimer。然后它可以通知任何其他注册到 NSNotificationCenter 的事件 View 。

// AppDelegate.m: 

@property (nonatomic, strong) Reachability *reachability;

// in applicationDidFinishLaunching...
self.reachability = [[Reachability alloc] init]; 

// Reachability.m

-(id)init {
   self = [super init];
   if (self) {
     [self setupTheTimer];
   }
   return self;
}

关于iphone - 可达性和通知中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14194356/

相关文章:

iphone - 更改 TableView 上 UISearchBar 的宽度

ios - 分割的UISegmentedControl自定义图片

ios - 删除 UItableview 单元格 segue 按钮?

ios - 我是否在 ViewController 上加载 ViewController

ios - 核心数据 - 带where条件的嵌套总和

objective-c - 从 SuperView 中绝对删除/删除 UIImageView

ios - 在 Objective-C 的实现文件中的 setter 方法中去除 NSString 中的特殊字符

ios - 在 try catch 中分解 catch 子句

iphone - 为 iOS 构建 Objective-C XML-RPC 框架

iphone - NSDateFormatter 给出了错误的小时(+8 小时)