swift基础判断网络连接
来源:互联网 发布:手机人工智能有什么用 编辑:程序博客网 时间:2024/06/09 20:34
import Foundationimport SystemConfigurationpublic class Reachability { class func isConnectedToNetwork() -> Bool { var zeroAddress = sockaddr_in(sin_len: 0, sin_family: 0, sin_port: 0, sin_addr: in_addr(s_addr: 0), sin_zero: (0, 0, 0, 0, 0, 0, 0, 0)) zeroAddress.sin_len = UInt8(sizeofValue(zeroAddress)) zeroAddress.sin_family = sa_family_t(AF_INET) let defaultRouteReachability = withUnsafePointer(&zeroAddress) { SCNetworkReachabilityCreateWithAddress(nil, UnsafePointer($0)) } var flags: SCNetworkReachabilityFlags = [] if SCNetworkReachabilityGetFlags(defaultRouteReachability!, &flags) == false { return false } let isReachable = flags.contains(.Reachable) let needsConnection = flags.contains(.ConnectionRequired) return isReachable && !needsConnection } }
class ViewController: UIViewController { @IBOutlet weak var checkingLabel: UILabel! override func viewDidAppear(animated: Bool) { checkConnectivity() } override func viewDidLoad() { super.viewDidLoad() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } func checkConnectivity() { print(Reachability.isConnectedToNetwork(), terminator: "") if Reachability.isConnectedToNetwork() == false { let alert = UIAlertController(title: "Alert", message: "Internet is not working", preferredStyle: UIAlertControllerStyle.Alert) self.presentViewController(alert, animated: false, completion: nil) let okAction = UIAlertAction(title: "Retry", style: UIAlertActionStyle.Default) { UIAlertAction in alert.dismissViewControllerAnimated(false, completion: nil) //self.checkConnectivity() } alert.addAction(okAction) checkingLabel.text = "" } else { checkingLabel.text = "Connected" } }}
没网没有网的时候回弹出警告框
0 0
- swift基础判断网络连接
- Swift 基础学习(判断语句)
- PDA判断网络连接
- 网络连接判断
- 判断网络连接状态
- android 判断网络连接
- 判断是否连接网络
- 网络连接类型判断
- android 判断网络连接
- android 判断网络连接
- 判断网络连接情况
- 判断网络连接状态
- 网络连接类型判断
- android 判断网络连接
- 判断android网络连接
- IOS判断网络连接
- android 判断网络连接
- Android--网络连接判断
- 学习使用的PL/0编译器增强版PL/0plusplusCompiler(七)扩展repeat-until
- C++学习写在前面
- Hadoop-2.7.2伪分布式集群搭建
- Spring MVC 3.x 消息转换器
- 关于解决/lib/ld-linux.so.2: bad ELF interpreter:
- swift基础判断网络连接
- Struts2整合Spring
- Apache安装
- Android 5.0学习之动画
- Win10 右键菜单添加文本编辑器的菜单项
- 确认(confirm 消息对话框)
- 关于http keep-alive与tcp keep-alive
- MySQL.zip安装及初始化
- Eclipse下NDK开发