I have this function in my class "RunnerWindowController":
func didChangeScreenParameters(){
runnerLayer.removeAllAnimations()
animateRunner()
}
I try to call the function out of another class using:
var RunnerWindowC: RunnerWindowController!
@IBAction func btnSenden(sender: AnyObject) {
RunnerWindowC.didChangeScreenParameters()
}
I get this fatal error:
fatal error: unexpectedly found nil while unwrapping an Optional value
I won't need any return, only the execute of the function.
EDIT: 05/13/2016
None of the answers help because i have a INIT in die RunnerWindowController.
SOLVED PROBLEM:
I solved the problem with a 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
}