2014-10-30 22 views
0

我有一個函數,它接受一個整數,但我想用它作爲選擇器並將參數傳遞給它。Xcode,Swift - 如何使用將參數作爲選擇器的函數

NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "addAmount", userInfo: nil, repeats: true) 

func addAmount(amount: Int) { 

    money += amount 


} 
+0

定時器......和正確的答案是這樣的一個:http://stackoverflow.com/a/26359761/1187415。 – 2014-10-30 17:42:31

回答

1

按照NSTimer documentation

選擇器應具有以下特徵:timerFireMethod:(包括結腸,以指示該方法需要一個參數)。計時器本身作爲傳遞參數,因此該方法將採取以下模式:

- (void)timerFireMethod:(NSTimer *)timer

所以你可以寫與簽名功能,然後調用裏面你addAmount功能。

func timerFireMethod(timer: NSTimer) { 
    addAmount(SOME_AMOUNT) 
} 

然後安排與

NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "timerFireMethod:", userInfo: nil, repeats: true) 
+0

Thnx很多,工作! – Abdou023 2014-10-30 18:01:08

相關問題