Ich habe diese Funktion in meiner Klasse "RunnerWindowController":Wie man eine Funktion ohne Rückkehr in Swift anruft?
func didChangeScreenParameters(){
runnerLayer.removeAllAnimations()
animateRunner()
}
Ich versuche, mit der Funktion aus einer anderen Klasse zu nennen:
var RunnerWindowC: RunnerWindowController!
@IBAction func btnSenden(sender: AnyObject) {
RunnerWindowC.didChangeScreenParameters()
}
ich diesen fatalen Fehler:
fatal error: unexpectedly found nil while unwrapping an Optional value
Ich brauche keine Rückkehr, nur die Ausführung der Funktion.
EDIT: 05/13/2016
Keine der Antworten helfen, weil ich eine INIT in sterben RunnerWindowController haben.
gelöstes Problem:
löste ich das Problem mit einem NSTimer.
RunnerWindowController:
var SetDidChange : Bool = false
class RunnerWindowController{
var startvalue : CGFloat = 0
var timer : NSTimer?
func initTimer() {
self.timer = NSTimer.scheduledTimerWithTimeInterval(1, target:
self, selector: #selector(refresh), userInfo: nil, repeats: true)
}
@objc func refresh() {
if (SetDidChange == true) {
print("Refresh done")
runnerLayer.removeAllAnimations()
animateRunner()
SetDidChange = false
}
}
....
}
RunnerPrefController:
override func viewDidAppear() {
SetDidChange = false
}
@IBAction func btnSenden(sender: AnyObject) {
SetDidChange = true
}
Ihre 'RunnerWindowC' Eigenschaft ist ein implizit ungeöffneten optional und ist' nil', wenn Sie die Funktion (die nennen sollte mit einem einzigen '()', nicht ein Doppel) - siehe [diese Q & A] (http://stackoverflow.com/questions/32170456/what-does-fatal-error-unexpectedly-found-nil-while-unwrapping) -an-optional-value) für weitere Informationen zum sicheren Umgang mit Optionals. – Hamish