2015-11-07 34 views
1

我在應用程序中放置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)  } 
} 

}

這是不工作,我得到一個錯誤,

試圖加載而它重新分配是不允許的視圖控制器的視圖,並且可以導致未定義的行爲

我不明白這是什麼意思。 如果我把代碼打印(「無法訪問」)將正常工作。

我的問題

什麼是錯誤的含義是什麼?

如何讓我的警報有效?

如果還有其他方式讓用戶知道互聯網連接,請致電我。

+0

如果已經從'UIAlertViewController'一樣,如果沒有使用它或類變量定義的警報! –

+0

我宣佈對上述的UILabel通貨緊縮這個代碼,VAR myAlert = UIAlertController()////不過,我仍然有同樣的錯誤 –

+0

嘗試在viewDidAppear您reachibility一次不是在viewDidLoad中 –

回答

0

嘗試添加在警報 這條線(self.presentViewController(myAlert,動畫:真,完成:無))

+0

同樣的問題發生,但工作! –

+0

我刪除var myAlert = UIAlertController()後,它工作正常。 –