2017-07-20 60 views
0

我呼籲你的知識,因爲我是編程初學者。我想通過Playground實例化一個計時器。我的計時器是 - 我認爲 - 正確配置(isValid和TimeInterval),也是Playground設置,但是當我想將消息發送到其目標時,我在下面顯示錯誤消息。我搜索了蘋果的文檔,論壇,書籍,但是我沒有擺脫它。抱歉。非常感謝你的幫助。錯誤EXC_BAD_INSTRUCTION - 如何設置timeInterval方法?

ERROR MESSAGE

+0

您尚未激活計時器 – Alexander

回答

0

定時器呼籲你給它的目標選擇。在你的情況下,它試圖調用AnyObject.timerFire()這實際上並不存在。你的timerFire的實現是一個全局函數,它不是一個類型的一部分,所以不能使用,因爲Timer需要一個目標。

選擇器需要是暴露給ObjC的方法,所以類型需要是一個類。

下面是一個簡單的例子。

import Foundation 
import PlaygroundSupport 

class Foo { 
    @objc func timerFired() { 
     print("Timer Fired") 
    } 
} 

let f = Foo() 
let timer = Timer.scheduledTimer(timeInterval: 1, target: f, selector: #selector(Foo.timerFired), userInfo: nil, repeats: false) 

print("Scheduled Timer") 

PlaygroundPage.current.needsIndefiniteExecution = true 
相關問題