Ich habe diese einfache Chat-App mit der letzten Nachricht mit Firebase gemacht, aber ich laufe weiter in diesen Fehler und kann nicht scheinen, darüber hinaus zu kommen. Ich habe viele Dinge wie die @IBOutlets überprüft, aber ich kann das Problem nicht lösen. Kann mir jemand helfen, "Fatal Error: Unerwarteterweise gefunden Null beim Auspacken eines optionalen". Das Problem ist, dass ich scheinbar keine Optionen finden kann, mit denen ich anfangen kann, denn alles ist nur der normale Datentyp oder wurde wie die @IBOutlets niedergeschlagen. Unten ist mein Code für einen der View-Controller: Der, der die App zum Absturz bringt. Jede Hilfe wäre großartig oder ein Ratschlag, in welche Richtung man gehen soll. Vielen Dank!Debugging Chat App
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)
}
}
Hier ist der Code innerhalb meiner anderen und nur andere View-Controller, aber keine Fehler gefunden:
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
}
}
Haben Sie eine Ausnahme Haltepunkt versucht Einstellung zu sehen, wo die Ausnahme – Paulw11
tritt auf Ja. Es ist diese Codezeile hier: '@IBOutlet weak var nameField: UITextField!' – EQOxx123
So findet es irgendwo keinen Fehler, wenn ich 'nameField' später anrufe. Ich kann einfach nicht wo finden. Vielen Dank. – EQOxx123