J'ai une boucle utilisant la syntaxe for (NSObject * obj in someArray) {}. Y at-il un moyen facile de dire si je suis sur la dernière itération de la boucle (ie sans avoir à utiliser [someArray count])Comment savoir si je suis sur la dernière itération d'une boucle X pour Y dans Objective-C
6
A
Répondre
15
Peut-être que cela fonctionnera?
if (obj == [ someArray lastObject ]) {
// ...
}
14
Vous pouvez utiliser NSArray#lastObject
pour déterminer si obj
est égal à [NSArray lastObject]
.
for (NSObject *obj in someArray) {
if ([someArray lastObject] == obj) {
NSLog(@"Last iteration");
}
}
5
Plutôt que d'appeler dans le tableau à chaque itération, il pourrait mieux pour mettre en cache le dernier objet du tableau:
NSObject *lastObject = [someArray lastObject];
for (NSObject *obj in someArray) {
// Loop code
if (obj == lastObject) {
// do what you want for the last array item
}
}
Questions connexes
- 1. Comment puis-je détecter la dernière itération dans une boucle sur std :: map?
- 2. Comment savoir si je suis connecté à Internet
- 3. Comment attraper la dernière itération dans $ .each dans jQuery?
- 4. pour chaque itération de boucle
- 5. Forcer une itération d'une boucle
- 6. Comment puis-je savoir si je suis dans une pile d'exceptions Delphi?
- 7. Wordpress comment puis-je savoir si la pagination est active?
- 8. XSLT: comment savoir que je suis allé à l'intérieur de plusieurs pour chacun?
- 9. Comment effectuer une action supplémentaire uniquement sur la première itération d'une boucle?
- 10. Comment puis-je savoir quand une procédure stockée a été modifiée ou compilée pour la dernière fois dans Oracle?
- 11. Analyseur AMF0 dans ObjectiveC
- 12. Comment puis-je savoir quand la dernière ligne d'une source de données ListView est liée?
- 13. Comment puis-je savoir si une fonction est récursive queue F #
- 14. Comment puis-je implémenter, "Je suis mon propre grand-père", dans Prolog?
- 15. Comment savoir si urllib.urlretrieve réussit?
- 16. Localisation dans .NET Je suis
- 17. Itération sur CssStyleCollection
- 18. PHP: Comment déterminez-vous chaque ième itération d'une boucle?
- 19. (je suis proche - je pense) Python boucle à travers la liste des sous-domaines avec sélénium
- 20. Jquery X, position Y envoyer sur ajax
- 21. Stockage d'objets pour la localisation par coordonnées x, y
- 22. Comment savoir si je cours depuis JRuby contre Ruby?
- 23. Comment puis-je vérifier si un DataGridView contient la colonne "x" et si la colonne "x" est visible?
- 24. VCRedist - comment puis-je savoir si elle a été exécutée?
- 25. Comment puis-je réorganiser mes données pour qu'elles soient des coordonnées (x, y) pour GD :: Graph?
- 26. Comment utiliser un module Perl de façon conditionnelle uniquement si je suis sur Windows?
- 27. Optimize y = x * x dans le champ Galois arithmétique
- 28. Récurrent si boucle dans un commutateur
- 29. Comment puis-je savoir si j'ai un relais ouvert?
- 30. Comment puis-je savoir si une colonne existe dans un VB.Net DataRow
Vous appelez toujours la méthode dans la boucle. Je pense que vous avez voulu échanger les deux premières lignes. Une autre minuscule faute de frappe: "F" majuscule dans "For" – gclj5
Merci de m'avoir fait remarquer - je vais l'éditer. – Abizern