J'ai une méthode où je fais quelques animations de démarrage. La méthode est appelée plusieurs fois pendant l'utilisation de l'application, mais lors de son premier appel, elle doit également faire des choses spéciales.Quel est le moyen le plus simple de déterminer si une méthode a été appelée pour la première fois depuis le début de l'application?
Est-ce que Singletons est la solution? Peut-être y a-t-il aussi un meilleur moyen, au lieu de mesurer combien de fois cette méthode a été appelée, et de stocker cela dans un ivar.
Ceci ne gère pas les situations où la classe est chargée par plusieurs chargeurs de classe multiples (mais différents). Le singleton va seulement tenir pour un seul chargeur de classe. Si votre code peut s'exécuter dans un conteneur, il se peut qu'il s'exécute dans plusieurs JVM et que chacun pense que c'est le seul. Cela dépend vraiment de ce que vous essayez de compter/protéger. Java n'est pas le choix le plus propre lorsqu'il s'agit de verrouiller des ressources en raison du problème de classloader/JVM. –
@Kelly: Ce n'est pas Java. C'est Objective-C. Je ne pense pas que l'iPhone puisse même exécuter Java. – Chuck