當前位置:網站首頁>Swift Extension NetworkUtil(網絡監聽)(源碼)

Swift Extension NetworkUtil(網絡監聽)(源碼)

2022-06-24 08:05:14馮漢栩

一直覺得自己寫的不是技術,而是情懷,一個個的教程是自己這一路走來的痕迹。靠專業技能的成功是最具可複制性的,希望我的這條路能讓你們少走彎路,希望我能幫你們抹去知識的蒙塵,希望我能幫你們理清知識的脈絡,希望未來技術之巔上有你們也有我。

(Swift)NetworkUtil監聽網絡

前言

2022.06.23今天寫了一個基於ios13及以上監聽網絡的封裝。可以獲取當前的網絡狀態,網絡一發生變化就會收到通知

正題

使用起來非常方便

1.啟動的時候開啟網絡監聽
在這裏插入圖片描述

2.然後可以在想用的地方用了
在這裏插入圖片描述

import UIKit
import SnapKit

class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .white

        //獲取網絡狀態的枚舉汁
        print("connectType: \(NetworkUtil.shared.connectType.rawValue)")
        //獲取網絡狀態的文本值
        print("readableConnectType: \(NetworkUtil.shared.readableConnectType)")
        //注册網絡監聽
        NotificationCenter.default.addObserver(
            self,
            selector: #selector(onNetworkChange),
            name: Notification.Name("onNetworkChange"),
            object: nil
        )
    }
  
    //網絡一旦發生變化就會收到通知
    @objc func onNetworkChange(notification : Notification){
        DispatchQueue.main.async {
            guard
                let dictionary = notification.userInfo,
                let type = dictionary["type"] as? Int
            else {
                return
            }

            let connectType = NetworkUtil.ConnectType(rawValue: type)!

            switch (connectType) {
            case .unknown:
                print("目前無網絡可用")
            default:
                break
            }
        }
    }
}

版權聲明
本文為[馮漢栩]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/175/202206240434142005.html

隨機推薦