搜尋

首頁  >  問答  >  主體

xcode - iOS: 如何使用 swift 來新增一條死循環,有時間間隔的線程?

簡單實現到這種程度即可:
定義一個bool 類型變數,每次循環時會判斷這個變數,為true 即會列印print(666),並使執行緒休眠1s,然後重複這個循環.

嘗試過GCD的.concurrentPerform,但是只能執行一定數量,並不是真死循環,而且不知道怎麼設定時間間隔.
網上還有NStimer 方法,但是不知道少導入了哪個框架,並沒有NSTimer 這個類別(Swift項目).


嘗試了 Cadisplaylink,問題已經解決了,但是在作為全域量初始化的時候,

let displaylink = CADisplayLink(target: self,
   selector: #selector(step))

會報錯,這是為什麼?

巴扎黑巴扎黑2768 天前774

全部回覆(1)我來回復

  • 过去多啦不再A梦

    过去多啦不再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 了。

    回覆
    0
  • 取消回覆