簡(jiǎn)單實(shí)現(xiàn)到這種程度即可:
定義一個(gè)bool 類型變數(shù),每次循環(huán)時(shí)會(huì)判斷這個(gè)變數(shù),為true 即會(huì)列印print(666),並使執(zhí)行緒休眠1s,然後重複這個(gè)循環(huán).
嘗試過(guò)GCD的.concurrentPerform,但是只能執(zhí)行一定數(shù)量,並不是真死循環(huán),而且不知道怎麼設(shè)定時(shí)間間隔.
網(wǎng)上還有NStimer 方法,但是不知道少導(dǎo)入了哪個(gè)框架,並沒(méi)有NSTimer 這個(gè)類別(Swift項(xiàng)目).
嘗試了 Cadisplaylink,問(wèn)題已經(jīng)解決了,但是在作為全域量初始化的時(shí)候,
let displaylink = CADisplayLink(target: self,
selector: #selector(step))
會(huì)報(bào)錯(cuò),這是為什麼?
在評(píng)論中確認(rèn)了題主是 target: self
這裡報(bào)錯(cuò)了。
以下是題主之後的疑問(wèn):
哦對(duì),當(dāng)時(shí)controller 還沒(méi)初始化了,謝謝你.還有能再問(wèn)一下這個(gè)target:變量有什麼用嗎?只知道一般的target 都填self,但不知道填self 是為了啥,是設(shè)置代理的嗎?
簡(jiǎn)單理解就是後面參數(shù) selector
的所屬。
一般時(shí)候,selector
都是指向某個(gè)類別內(nèi)的某個(gè)方法,當(dāng)let displaylink = CADisplayLink(target: self, selector: #selector(step))
是寫在相同類別中時(shí),自然targetget
就是self
了。