suchen

Heim  >  Fragen und Antworten  >  Hauptteil

xcode - iOS: Wie füge ich mit Swift eine Endlosschleife und einen Thread mit Zeitintervall hinzu?

Es kann so einfach implementiert werden:
Definieren Sie eine Variable vom Typ Bool, die bei jeder Schleife beurteilt wird. Wenn sie wahr ist, wird print(666) gedruckt und der Thread wird für 1 Sekunde in den Ruhezustand versetzt Wiederholen Sie den Zyklus

Ich habe .concurrentPerform von GCD ausprobiert, aber es kann nur eine bestimmte Anzahl ausführen, es ist nicht wirklich eine Endlosschleife und ich weiß nicht, wie ich das Zeitintervall einstellen soll.
Es gibt auch die NStimer-Methode im Internet, aber ich weiß nicht Ich weiß nicht, welches Framework importiert wurde, und es gibt keine NSTimer-Klasse (Swift-Projekt).


Ich habe Cadisplaylink ausprobiert und das Problem wurde gelöst, aber als ich es als globale Variable initialisierte,

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

Es wird ein Fehler gemeldet, warum?

巴扎黑巴扎黑2734 Tage vor727

Antworte allen(1)Ich werde antworten

  • 过去多啦不再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)) 是写在相同类中时,自然 target 就是 self 了。

    Antwort
    0
  • StornierenAntwort