Ich entwickle ein Schurken wie Spiel (iOS/Cocos2d). Ich habe ein Objekt der Klasse Map, das eine Reihe von GameObjects enthält.Design der Benachrichtigung über Modelländerungen in iOS-Spiel
Ich habe GameViewController Klasse. Wenn etwas im Modell passiert (Kreatur getötet, Spieler bewegt, irgendetwas), muss ich GameViewController über diese Änderungen informieren. Wie geht das?
Ich sehe zwei Möglichkeiten:
- GameViewController Instanz ein Delegierter von Karte und ein Delegierter jeden Gameobject sein könnte.
- GameViewController wird NSNotifications von Map und GameObjects hören.
Welcher Weg ist besser? Warum?
Muss GameViewController über jedes GameObject wissen? Die Map enthält die GameObjects, so dass sie sie beobachten können (als Delegierter von, Abhören von Benachrichtigungen oder als Zeiger auf sich selbst zu den GameObjects) und diese wiederum an die GameViewController-Klasse weiterleiten (wiederum mit einem dieser drei) Techniken). – Dondragmer