zoukankan      html  css  js  c++  java
  • [Swift通天遁地]四、网络和线程-(6)检测网络连接状态

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(shanqingyongzhi)
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/10222487.html 
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    目录:[Swift]通天遁地Swift

    本文将演示如何使用AlamofireReachbility快速检测网络连接状态。

    首先确保在项目中已经安装了所需的第三方库。

    点击【Podfile】,查看安装配置文件。

    1 source 'https://github.com/CocoaPods/Specs.git'
    2 platform :ios, '12.0'
    3 use_frameworks!
    4 
    5 target ‘DemoApp’ do
    6     pod 'Alamofire', '~> 4.0'
    7 end

    根据配置文件中的相关配置,安装第三方库。

    然后点击打开【DemoApp.xcworkspace】项目文件。

    在项目导航区,打开视图控制器的代码文件【ViewController.swift】

    现在开始编写代码,实现网络网络检测连接状态功能。

     1 import UIKit
     2 //在当前的类文件中,引入已经安装的第三方类库
     3 import Alamofire
     4 
     5 class ViewController: UIViewController {
     6 
     7     override func viewDidLoad() {
     8         super.viewDidLoad()
     9         // Do any additional setup after loading the view, typically from a nib.
    10         
    11         //初始化一个网络连接状态管理器,并设置检测的目标网址。
    12         let manager = NetworkReachabilityManager(host: "www.apple.com")
    13         //调用管理对象的开始监听方法,开始检测目标网址的可连接性
    14         manager?.startListening()
    15         
    16         //通过一个代码块,来处理监听的结果
    17         manager?.listener = { status in
    18             
    19             //在控制台输出:网络的状态
    20             print(">>>>> Network Status Changed: (status)")
    21             //在控制台输出:网络状态管理器对象的可访问性
    22             print("isReachable:(manager?.isReachable)")
    23             //在控制台输出:是否可以通过无线广域网访问目标网址
    24             print("isReachableOnWWAN:(manager?.isReachableOnWWAN)")
    25             //在控制台输出:是否可以通过无线局域网访问目标网址
    26             print("isReachableOnEthernetOrWiFi(manager?.isReachableOnEthernetOrWiFi)")
    27             //在控制台输出:输出网络的访问状态
    28             print("networkReachabilityStatus:(manager?.networkReachabilityStatus)")
    29             
    30             //停止对网络状态的监听
    31             manager?.stopListening()
    32         }
    33     }
    34 
    35     override func didReceiveMemoryWarning() {
    36         super.didReceiveMemoryWarning()
    37         // Dispose of any resources that can be recreated.
    38     }
    39 }
  • 相关阅读:
    二叉树中序遍历的非递归实现
    求树的遍历、树的叶子节点个数、树的高度、copy树
    javascript知识点汇总(running)
    IOS零碎知识点(积累中)
    Cuda learn record three
    Cuda learn record two
    找出字符串中的最长的回文子串
    Cuda learn record one
    Chrome 安装失败 错误代码 0X80070057
    Vs 2015 项目中include 无法打开源文件
  • 原文地址:https://www.cnblogs.com/strengthen/p/10222487.html
Copyright © 2011-2022 走看看