2012-06-29 7 views
0

У меня есть следующие модели в моей прорыве, как игра:MVC IOS Арканоид дизайн

  • Ball.h
  • Block.m
  • GamePlay.m
  • Paddle.h
  • Paddle .m

У меня также есть следующие виды:

  • BallView
  • BlockVIew
  • PaddleView

Мой вопрос, когда я изменить свойство в модели, я должен изменить свойство в представлении также. Например:

шарика Модель:

@interface Ball : NSObject 
@property (nonatomic, strong) NSNumber *radius; 
@property (nonatomic, strong) NSNumber *xSpeed; 
@property (nonatomic, strong) NSNumber *ySpeed; 
@property (nonatomic, strong) NSNumber *xDirection; 
@property (nonatomic, strong) NSNumber *yDirection; 
@property (nonatomic) CGPoint location; 
@property (nonatomic, strong) UIColor *color; 
@end 

Болл Вид:

@interface BallView : UIView 
@property (strong, nonatomic) UIColor *color; 
@property (nonatomic) int radius; 
@end 

Когда модель имеет свои свойства изменились, у меня есть такие как местоположение или цвет. Я должен обновить эти же свойства в представлении. Должен ли я НЕ отслеживать местоположение и цвет в моей модели?

ответ

0

Я думаю, что главным моментом в MVC является ремонтопригодность с течением времени. Если вы решите, что вам нужно совсем другое представление о вашей игре завтра, код модели может оставаться неизменным, поэтому вы можете сосредоточиться на изменении только части представления.

Кроме того, если вы знаете, что вам нужны данные о состоянии игры, вы знаете, где их можно найти - в модели. Например, вы можете передать местоположение мяча через Интернет своему другу, если он заинтересован в том, чтобы наблюдать за тем, как вы разбиваете блоки.

Как вы можете догадаться из последних двух абзацев, вы действительно должны хранить и обновлять местоположение и цвет мяча в модели. Представление не должно быть владельцем состояния приложения.

Смежные вопросы