• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 在运行方法之前使用可达性检查连接

[复制链接]
菜鸟教程小白 发表于 2022-12-12 16:23:00 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我想使用 Reachability检查我的应用程序中的 Internet 连接。

我找到了a tutorial它将在应用程序中进行设置。在本教程中,它解释了“第 4 步” - 可达性管理器。它提到了以下内容:

This is useful if an object needs direct access to the reachability instance that the singleton object manages.

这方面的例子是什么?什么对象需要直接访问实例?

在我的应用程序中,我有多种方法需要运行互联网连接。我想要实现的是以下两种方法之一:

  1. 当互联网连接丢失时显示 UIAlertView 询问 用户重试。

    注意:这仅在某些 View Controller 上,而不是全部 应用程序,因为我不需要完全限制访问 结束。

  2. 或者 - 我想使用一种方法来检查互联网连接 在运行需要 连接。

如何以这种方式使用可达性进行设置?



Best Answer-推荐答案


在第 4 节中,有一个 Reachability 包装器示例(但在该实现中没有 kReachabilityChangedNotification 处理)。那么应该如何使用呢? — 正如您在 MTReachabilityManager 的界面中看到的那样,有 1 种获取管理器单例实例的方法和 4 种使用它的方法:

+ (BOOL)isReachable;
+ (BOOL)isUnreachable;
+ (BOOL)isReachableViaWWAN;
+ (BOOL)isReachableViaWiFi;

对于需要连接的方法中的第二种方法,您必须执行以下操作:

if ([[MTReachabilityManager sharedManager] isReachable]) {
     //do internet
} else {
     //alert 'no internet' or something
}

对于第一种方法(从网络获取数据期间连接丢失),此包装器不会帮助您(未实现对 kReachabilityChangedNotification 的监听)。因此,您必须添加本教程第 3 部分(第 3 步:通知)中的代码 — 在调用网络代码之前在某处添加 kReachabilityChangedNotification 的监听器:

[[NSNotificationCenter defaultCenter] addObserver:self selectorselector(reachabilityDidChange name:kReachabilityChangedNotification object:nil];

并添加处理通知的方法(将在互联网更改其状态时触发):

- (void)reachabilityDidChangeNSNotification *)notification {
    Reachability *reachability = (Reachability *)[notification object];
    if ([reachability isReachable]) {
        NSLog(@"Reachable");
        //if before there was no internet - now you can do whatever user wants when there was no internet
    } else {
        NSLog(@"Unreachable");
        //alert retry
    }
}

关于ios - 在运行方法之前使用可达性检查连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19953398/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap