У меня есть представление, у которого есть метод drawRect, я знаю, что этот метод является единственным способом, которым я управляю видом, чтобы что-то нарисовать на нем. Итак, я стараюсь рисовать логику следующим образом:
- (void)drawRect:(CGRect)rect {
//my drawing code...
}
На мой взгляд, я использую IB для связи этого класса.
[myView setNeedsDisplay];
Это работает, поэтому я разработал объект Command внутри метода drawRect, чтобы я мог рисовать динамически на основе моего Cmd. Вот код в представлении после того, как я изменил:
- (void)drawRect:(CGRect)rect {
self.cmdToBeExecuted = [[DrawingSomethingCmd alloc] init];
[self.cmdToBeExecuted execute];
}
My DrawingsomthingCmd:
@implementation DrawingSomethingCmd
-(void)execute{
//my drawing code;
}
Это тоже работает. Но вопрос в том, как я могу назначить self.cmdToBeExecuted динамически.
Также я изменил свой drawRect следующим образом:
- (void)drawRect:(CGRect)rect {
[self.cmdToBeExecuted execute];
}
Поскольку у меня есть это, чтобы связать с IB,
IBOutlet myDrawingView *myView;
но после ввода [myView ... ...] он не позволяет мне получить переменную cmdToBeExecuted. Я готов сделать мою переменную доступной в .h:
@property (nonatomic, retain) Command *cmdToBeExecuted;
и .m также:
@synthesize cmdToBeExecuted;