當前位置:網站首頁>Swift Extension NetworkUtil(網絡監聽)(源碼)
Swift Extension NetworkUtil(網絡監聽)(源碼)
2022-06-24 08:05:14【馮漢栩】
一直覺得自己寫的不是技術,而是情懷,一個個的教程是自己這一路走來的痕迹。靠專業技能的成功是最具可複制性的,希望我的這條路能讓你們少走彎路,希望我能幫你們抹去知識的蒙塵,希望我能幫你們理清知識的脈絡,希望未來技術之巔上有你們也有我。
前言
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
邊欄推薦
猜你喜歡
隨機推薦
- 你真的理解LDO的輸出電容嗎!?
- 二維激光SLAM( 使用Laser Scan Matcher )
- MySQL使用ReplicationConnection導致的連接失效分析與解决
- Go寫文件的權限 WriteFile(filename, data, 0644)?
- 在線文本過濾小於指定長度工具
- quartus調用&設計D觸發器——仿真&時序波驗證
- 【深入理解TcaplusDB技術】TcaplusDB構造數據
- 等保備案是什麼意思?應該去哪裏辦理備案?
- 建議自查!MySQL驅動Bug引發的事務不回滾問題,也許你正面臨該風險!
- 百萬獎金等你來拿,首届中國元宇宙創新應用大賽聯合創業黑馬火熱招募中!
- 力扣解法匯總513-找樹左下角的值
- 快速排序的簡單理解
- 139. 單詞拆分
- Web篇_01 了解web開發
- ADB 按鍵名、按鍵代碼數字、按鍵說明對照錶
- leetcode:面試題 08.13. 堆箱子【自頂而下的dfs + memory or 自底而上的排序 + dp】
- 解答02:Smith圓為什麼能“上感下容 左串右並”?
- MySQL的 安裝、配置、卸載
- 【ESP8266-01s】獲取天氣,城市,北京時間
- Redis 集群
- 【華中科技大學】考研初試複試資料分享
- 傑理之串口設置好以後打印亂碼,內部晶振沒有校准【篇】
- 【NOI2014】15.起床困難綜合症【二進制】
- 函數的定義和函數的參數
- JDBC 在性能測試中的應用
- 35歲危機?內卷成程序員代名詞了…
- SQL聯合查詢(內聯、左聯、右聯、全聯)的語法
- Outlook開機自啟+關閉時最小化
- 北大、加州伯克利大學等聯合| Domain-Adaptive Text Classification with Structured Knowledge from Unlabeled Data(基於未標記數據的結構化知識的領域自適應文本分類)
- 為什麼你的數據圖譜分析圖上只顯示一個值?
- sql server常用sql
- MySQL事務隔離
- STM32-------外部中斷
- 2022年信息安全工程師考試知識點:訪問控制
- 高仿書旗小說 Flutter 版,學起來
- 工作中一些常用的工具函數
- docker 部署redis
- 如何利用數倉創建時序錶
- version `ZLIB_1.2.9‘ not found (required by /lib64/libpng16.so.16)
- 【Flutter】如何使用Flutter包和插件