Un moyen pour arrêter un bloc littérale en swift
Comme ci-dessous, je veux arrêter le littéral par quelque chose comme break
var numbers = [1,2,3,4]
numbers.forEach {
if $0 % 2 == 0 {
break
}
}
- qu'essayez-vous de faire?
- Juste un exemple ici, je veux juste contrôler le flux.
- J'ai résolu. Voir stackoverflow.com/questions/33793880/...
- Vous pouvez également lancer une exception
Vous devez vous connecter pour publier un commentaire.
forEach
n'est pas une boucle (c'est un bloc transmis à une boucle, mais pas une boucle elle-même), ou, plus précisément,forEach
ne fait pas partie de Swift Flux de Contrôle. C'est pourquoi vous ne pouvez pas utiliserbreak
oucontinue
.Il suffit d'utiliser un pour-en boucle.
Exemple :
Vous pouvez utiliser
return
à l'intérieur de laforEach
la fermeture, mais il n'a pas pause la boucle, il ne retourne le bloc dans le courant passe.return
est disponible à l'intérieurforEach
mais n'a pas l'effet recherché de l'OP.Le document a expliqué。
Mais vous aimeriez essayer ça.
En fait, la meilleure façon de le faire c'est mieux:
Si tu veux le seul nombre premier, c'est sûr. Si je comprends bien la question, qu'est ce que u besoin de "casser" pour.
Si u besoin de tous les nombres, utilisation: