24、[ iOS ] 网络监听 - 通知

首先导入 Reachability 这个第三方库,在 AppDelegate 中

@property (nonatomic, strong) Reachability *net;
  // ------开启网络状况监听
  [self startNetMonitor];

然后实现其方法

/**
 * 网络检测
 */
// -----------------------------------------------------------------
- (void)startNetMonitor {
    
    // ------开启网络状况监听
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkStateChange:) name:kReachabilityChangedNotification object:nil];
    self.conn = [Reachability reachabilityWithHostName:@"www.apple.com"];
    [self.conn startNotifier];
    
}

- (void)networkStateChange:(NSNotification *)note
{
    Reachability *currReach = [note object];
    NSParameterAssert([currReach isKindOfClass:[Reachability class]]);
    
    [self updateInterfaceWithReachability:currReach];
    
}
- (void) updateInterfaceWithReachability: (Reachability*) curReach
{
    NetworkStatus status = [curReach currentReachabilityStatus];
    
    if (status == NotReachable) {
        
        // ------没有网络弹出提示框
        UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"提示"
                                                                                 message:@"当前网络不可用,请检查网络设置"
                                                                          preferredStyle:UIAlertControllerStyleAlert];
        
        UIAlertAction *cancelAction  = [UIAlertAction actionWithTitle:@"好的" style:UIAlertActionStyleDefault handler:nil];

        [alertController addAction:cancelAction];
        
        [self.window.rootViewController presentViewController:alertController animated:YES completion:nil];
        
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,417评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,206评论 4 61
  • 2016年北美电影市场显得格外热闹,除了漫威系列改编的超级英雄系列的电影霸占电影银幕之后,今年最值得关注的自然...
    电影分享大师阅读 4,344评论 0 0
  • 什么是 CSS hackCSS hack就是我们为了使代码能兼容不同版本的浏览器而编写的关于浏览器兼容的语句。CS...
    ninc阅读 3,486评论 0 0
  • 前言:UI控件整理之UIView 一、UIView 效果图基本代码实现
    心如止水的鱼阅读 1,391评论 0 0