我已經使用Firebase對最後一條消息進行了這個簡單的聊天應用程序,但我一直遇到此錯誤,似乎無法通過它。我已經檢查了許多像@IBOutlets的東西,但我似乎無法解決問題。任何人都可以幫助我解決「致命錯誤:意外地發現零,而解包可選」。問題是,我似乎無法找到任何可選項,因爲一切都只是它的常規數據類型,或者像@IBOutlets一樣被低估。以下是我的其中一個視圖控制器的代碼:導致應用程序崩潰的代碼。任何幫助都很棒,或者指導一個什麼方向。謝謝!調試聊天應用程序
import UIKit
import Firebase
class ViewTwo : UIViewController {
var ref: Firebase!
var REF: Firebase!
@IBOutlet weak var readMsg: UILabel!
@IBOutlet weak var msg: UITextField!
@IBOutlet weak var nameField: UITextField!
@IBAction func sendMsg(sender: AnyObject) {
nameField.resignFirstResponder()
if nameField.text == "ETHAN" {
ref = Firebase(url: "my-app/Person1Msg")
ref.setValue("\(msg.text)")
REF = ref
} else if nameField.text == "CHASE" {
ref = Firebase(url: "my-app/Person2Msg")
ref.setValue("\(msg.text)")
REF = ref
} else {
msg.placeholder = "Please enter name ALL CAPS"
}
}
override func viewDidAppear(animated: Bool) {
REF.observeEventType(.Value) { (snap: FDataSnapshot!) in
self.readMsg.text = snap.value as? String
}
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
self.view.endEditing(true)
}
}
這是我等只有其他視圖控制器內的代碼,但沒有發現錯誤:
class ViewController : UIViewController {
var accepted: Bool = false
@IBOutlet weak var nameField: UITextField!
@IBAction func submit(sender: AnyObject) {
nameField.resignFirstResponder()
if nameField.text == "CHASE" || nameField.text == "ETHAN" {
accepted = true
} else {
nameField.placeholder = "Please enter correct name ALL CAPS"
}
}
@IBAction func start(sender: AnyObject) {
nameField.resignFirstResponder()
if accepted == true {
let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let nextViewController : UIViewController = storyboard.instantiateViewControllerWithIdentifier("ViewTwo") as UIViewController
self.presentViewController(nextViewController, animated: true, completion: nil)
} else {
}
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
self.view.endEditing(true)
}
override func viewDidLoad() {
super.viewDidLoad()
accepted = false
}
}
您是否嘗試過設置一個異常斷點,看看那裏發生異常 – Paulw11
是。這是這行代碼:'@IBOutlet弱var nameField:UITextField!' – EQOxx123
因此,稍後當我打電話給'nameField'時,它會找到某處。我只是找不到在哪裏。謝謝。 – EQOxx123