簡單實現到這種程度即可:
定義一個bool 類型變數,每次循環時會判斷這個變數,為true 即會列印print(666),並使執行緒休眠1s,然後重複這個循環.
嘗試過GCD的.concurrentPerform,但是只能執行一定數量,並不是真死循環,而且不知道怎麼設定時間間隔.
網上還有NStimer 方法,但是不知道少導入了哪個框架,並沒有NSTimer 這個類別(Swift項目).
嘗試了 Cadisplaylink,問題已經解決了,但是在作為全域量初始化的時候,
let displaylink = CADisplayLink(target: self,
selector: #selector(step))
會報錯,這是為什麼?
过去多啦不再A梦2017-05-31 10:34:00
在評論中確認了題主是 target: self
這裡報錯了。
以下是題主之後的疑問:
哦對,當時controller 還沒初始化了,謝謝你.還有能再問一下這個target:變量有什麼用嗎?只知道一般的target 都填self,但不知道填self 是為了啥,是設置代理的嗎?
簡單理解就是後面參數 selector
的所屬。
一般時候,selector
都是指向某個類別內的某個方法,當let displaylink = CADisplayLink(target: self, selector: #selector(step))
是寫在相同類別中時,自然targetget
就是self
了。