【发布时间】:2015-07-14 07:22:24
【问题描述】:
我是IOS应用程序开发的初学者,想“在使用应用程序(IOS xcode swift)期间失去可达性连接时弹出警报”, 但我只有在启动我的应用程序时才会收到弹出警报。当互联网连接丢失时,在使用我的应用程序期间没有弹出警报。请大家帮忙,谢谢!
我做了什么: 1) 创建一个 Reachability.swift 文件并写入
import Foundation
public class Reachability {
class func isConnectedToNetwork()->Bool{
var Status:Bool = false
let url = NSURL(string: "http://google.com/")
let request = NSMutableURLRequest(URL: url!)
request.HTTPMethod = "HEAD"
request.cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringLocalAndRemoteCacheData
request.timeoutInterval = 10.0
var response: NSURLResponse?
var data = NSURLConnection.sendSynchronousRequest(request, returningResponse: &response, error: nil) as NSData?
if let httpResponse = response as? NSHTTPURLResponse {
if httpResponse.statusCode == 200 {
Status = true
}
}
return Status
}
}
2) 编辑 ViewController.swift 文件如下
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var WebView: UIWebView!
//ViewDidLoad method
override func viewDidLoad() {
super.viewDidLoad()
if Reachability.isConnectedToNetwork() == true {
println("Internet connection OK")
} else {
println("Internet connection FAILED")
var alert = UIAlertView(title: "No Internet Connection",
message: "Make sure your device is connected to the internet.",
delegate: nil,
cancelButtonTitle: "OK")
alert.show()
}
var URL = NSURL(string: "http://www.google.com/")
WebView.loadRequest(NSURLRequest(URL: URL!))
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
【问题讨论】:
-
为什么 if-else 条件重复了两次?我猜是打字错误。
标签: ios swift alert reachability