recherche

Maison  >  Questions et réponses  >  le corps du texte

xcode - iOS : comment utiliser Swift pour ajouter une boucle infinie et un thread avec intervalle de temps ?

Cela peut être implémenté aussi simplement que ceci :
Définissez une variable de type booléen. Cette variable sera jugée à chaque boucle. Si elle est vraie, print(666) sera imprimé et le thread dormira pendant 1 seconde, puis répétez le cycle

J'ai essayé le .concurrentPerform de GCD, mais il ne peut exécuter qu'un certain nombre, ce n'est pas vraiment une boucle infinie, et je ne sais pas comment définir l'intervalle de temps
Il existe aussi la méthode NStimer sur Internet, mais je ne le sais pas. Je ne sais pas quel framework a été importé et il n'y a pas de classe NSTimer (projet Swift).


J'ai essayé Cadisplaylink et le problème a été résolu, mais lors de son initialisation en tant que variable globale,

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

Une erreur sera signalée, pourquoi ?

巴扎黑巴扎黑2738 Il y a quelques jours732

répondre à tous(1)je répondrai

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-31 10:34:00

    J'ai confirmé dans les commentaires que le titre de la question est target: self et une erreur a été signalée ici. target: self 这里报错了。

    以下是题主之后的疑问:

    哦对,当时controller 还没初始化了,谢谢你.还有能再问一下这个 target:变量有什么用吗?只知道一般的 target 都填 self,但不知道填 self 是为了啥,是设置代理的吗?

    简单理解就是后面参数 selector 的所属。
    一般时候,selector 都是指向某个类内的某个方法,当 let displaylink = CADisplayLink(target: self, selector: #selector(step)) 是写在相同类中时,自然 target 就是 self

    Voici les questions après la question : 🎜
    🎜Oh oui, le contrôleur n'a pas été initialisé à ce moment-là, merci. Pouvez-vous aussi me demander à nouveau à quoi sert cette variable target: Je sais seulement que la plupart des cibles se remplissent elles-mêmes, mais je ne le fais pas. Je ne sais pas à quoi sert le remplissage automatique. Avez-vous configuré un proxy ?🎜
    🎜Une compréhension simple est que le paramètre suivant selector lui appartient.
    Généralement, selector pointe vers une méthode dans une certaine classe Lorsque let displaylink = CADisplayLink(target: self, selector: #selector(step)) Lorsqu'il est écrit. la même classe, naturellement target est self. 🎜

    répondre
    0
  • Annulerrépondre