Estoy tratando de implementar un diseño de la siguiente manera:iPhone Objective-C foreach diseño
Touch
clase: actúa como una interfaz, varias clases heredan de ella:
MoveTouch
clase
JumpTouch
clase clase
InterfaceTouch
Luego quiero tener una lista de objetos Touch
. Luego quiero poder quitar todos los objetos MoveTouch
SOLAMENTE (no los otros), y luego todos los objetos JumpTouch
por separado, etc., fuera de esta gran lista. Lamentablemente, for (MoveTouch* t in touches)
no hace lo que quiero; todo en la lista completa actúa.
... lo que significa que harías algo como llamar a [t update] y luego cada elemento decidiría qué hacer en un ciclo de actualización. Pero eso no es universal. Hay muchas veces cuando tiene un mensaje que desea enviar a una clase, y no a otra. –
no es universal, pero tiende a oler, en mi opinión. Especialmente cuando indica que está diseñando las clases también. –
En realidad, no estoy haciendo polimorfismo con esto. Mi deseo básico era una forma de separar diferentes tipos de toques. El tipo de toque (Mover, Saltar, Interfaz, etc.) se puede decidir inmediatamente después de su creación, lo que ocurre dentro de "touchesBegan". A partir de ese momento, es mucho más fácil separar la funcionalidad de lo que sucede cuando MUEVA ese toque o FINALIZA ese toque, etc. Supongo que tal vez la herencia sea un poco sofisticada para esto. Tal vez solo una simple enumeración funcionaría? –