2016-06-29 9 views
1

NStimerのセレクタとは別のクラスの関数を実行するのに問題があります。アプリデリゲートでSwift nstimerアクセス​​関数other class

class VariClass 
{ 
    func updateUILoop() 
    { 
     print("updating UI") 
    } 
} 

私は私が持っているappdelegateで

let values = VariClass() 

を持っています。

let timer = NSTimer(fireDate: NSDate(), interval: 5, target: self, selector: #selector(values.updateUILoop), userInfo: nil, repeats: true) 

私が手動で実行すると機能は完全に機能します。

getvalues.updateUILoop() 

答えて

2

あなたはvaluesオブジェクトにfunc updateUILoopを呼び出すためにNSTimerをしたいので、タイマーのコールバック用のターゲットはvalues、ないself次のようになります。

let timer = NSTimer(fireDate: NSDate(), interval: 5, target: self.values, selector: #selector(VariClass.updateUILoop), userInfo: nil, repeats: true) 
+0

私は「取得 『updateUILoop』 – nyitguy

+0

@nyitguy未解決識別子の使用 – dasblinkenlight

+0

「#selector」の引数は、Objective-Cに公開されていないメソッドを指します。 – nyitguy

関連する問題