Je suis en train de mettre en œuvre une conception comme suit:iPhone Objective-C foreach conception
Touch
classe: agit comme une interface, plusieurs classes en héritent:
MoveTouch
classe
JumpTouch
classe de classe
InterfaceTouch
Puis je veux avoir une liste d'objets Touch
. Je veux ensuite être en mesure de supprimer tous les objets MoveTouch
SEULEMENT (pas les autres), puis tous les objets JumpTouch
séparément, etc., de cette grande liste. Malheureusement, for (MoveTouch* t in touches)
ne fait pas ce que je veux; tout dans la liste entière est suivi.
... ce qui signifie que vous feriez quelque chose comme call [t update] et que chaque élément déciderait de ce qu'il faut faire lors d'un cycle de mise à jour. Mais ce n'est pas universel. Il y a beaucoup de moments où vous avez un message que vous voulez envoyer à un cours, et pas un autre. –
pas universel, mais a tendance à sentir, à mon avis. Surtout quand vous indiquez que vous concevez eux-mêmes les classes. –
Je ne fais pas de polymorphisme avec ça. Mon but premier était de trouver un moyen de séparer différents types de touches. Le type de toucher (Move, Jump, Interface, etc.) peut être décidé dès sa création, ce qui se passe dans "touchesBegan". A partir de là, il est beaucoup plus facile de séparer la fonctionnalité de ce qui se passe lorsque vous déplacez cette touche ou END qui touche, etc. Je suppose que l'héritage est un peu fantaisiste pour cela? Peut-être qu'une simple énumération fonctionnerait? –