Я установил файл Reachability.swift в свое приложение, когда изменилась доступность в Интернете, я хочу предупредить пользователя о недоступности интернет-соединения.UIAlert не работает с NSNotification
это мой код.
import UIKit
import Parse
class ViewController: UIViewController {
var reachability : Reachability?
var myAlert = UIAlertController()
@IBOutlet weak var label: UILabel!
@IBOutlet weak var textField: UITextField!
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(true)
do {
let reachability = try Reachability.reachabilityForInternetConnection()
self.reachability = reachability
} catch ReachabilityError.FailedToCreateWithAddress(let address) {
}
catch {}
NSNotificationCenter.defaultCenter().addObserver(self, selector: "HeyUserInternetDoesntWork", name: ReachabilityChangedNotification, object: nil)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func saveButtonTapped(sender: AnyObject) {
let save = PFObject(className: "Practice")
save["text"] = textField.text
save.saveInBackgroundWithBlock { (success: Bool, error: NSError?) -> Void in
print("Object has been saved.")
}
}
dynamic func HeyUserInternetDoesntWork() {
if reachability!.isReachable() {
} else {
myAlert = UIAlertController(title: "No internet", message: "no good", preferredStyle: UIAlertControllerStyle.Alert)
let okAction = UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default, handler: nil)
myAlert.addAction(okAction) }
}
}
это не работает, я получил сообщение об ошибке, что
Попытка загрузить вид контроллера представления во время его deallocating не допускается и может привести к непредсказуемому поведению
Я не понимаю, что это значит. Если я поставлю код, который печатает («unreachable»), он будет работать нормально.
Мой вопрос
что смысл этой ошибки?
Как я могу заставить мое предупреждение работать?
Если есть другой способ, чтобы позволить пользователю знать подключение к Интернету,
пожалуйста, дайте мне знать.
если вы определили предупреждение от 'UIAlertViewController', как, что без его использования или в переменном классе ! –
Я объявляю этот код, var myAlert = UIAlertController() в дефляции UILabel выше ////, но все же у меня есть одна и та же ошибка –
попробуйте вашу доступность в viewDidAppear как только не в viewDidLoad –