initialisiert wird Was ich versuche, ist ein zufälliger Wert auf einem separaten View-Controller für meine Text-Eigenschaft, basierend auf welche von vier Tasten gedrückt wird. Der Compiler sagt mir, dass meine Texteigenschaft beim Aufruf von super.init nicht initialisiert wurde, und ich habe versucht, die Reihenfolge zu invertieren und die zwei Initialisierer in die erforderliche init zu kombinieren. Auch wenn es irgendwelche Vorschläge für eine bessere Möglichkeit gibt, den Text zu ändern, basierend auf welcher Schaltfläche gedrückt wird, lass es mich wissen. Vielen Dank!Fehler in Xcode sagen, dass meine gespeicherte Eigenschaft nicht auf super.init Anruf
class ViewController: UIViewController {
var text: String
@IBOutlet weak var successButton: UIButton!
@IBOutlet weak var workButton: UIButton!
@IBOutlet weak var relationshipsButton: UIButton!
@IBOutlet weak var brightenDayButton: UIButton!
// Initialize text property that will later be passed into the label on PageController
init(text: String) {
self.text = text
super.init(nibName: nil, bundle: nil)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder) // error occurs here
}
func buttonPressed() -> String {
switch self {
case successButton.touchInside == true: text = successText
case workButton.touchInside == true: text = workText
case relationshipsButton.touchInside == true: text = relationshipText
case brightenDayButton.touchInside == true: text = brightenDayText
default: text = "Didn't work"
}
return text
}
Sie müssen 'self.text' auf etwas setzen, bevor Sie' super.init (coder ...) '' – dan