ОБНОВЛЕНИЕ: я понял, что метод "initWithFrame" никогда не вызывается, поэтому я поместил init моего массива в другом месте.Спасибо за прочтение.(для кого, какой смысл initWithFrame, если он не вызывается? "
Я смотрю на этот код около часа и, возможно, пропускаю простую и очевидную проблему. Я просто пытаюсьсохранить массив точек касания. Мой инициал UIView говорит это:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
self.drawn=[[NSMutableArray alloc] init ];
return self;
}
Затем у меня есть это в другом методе:
CGPoint point=[[touches anyObject] locationInView:self];
NSLog(@"touched point: %f, %f",point.x,point.y);
[self.drawn addObject:[NSValue valueWithCGPoint:point]];
NSLog подтверждает, что «точка» существует и содержит хи у данных.
Почему тогда мой «нарисованный» массив никогда ничего не получает? Я прочитал учебники NSValue и, кажется, я делаю это правильно. NSLog [self.drawn count] всегда показывает 0, несмотря начто этот код сработал.
И, конечно, "нарисованный" - это также ивар моего пользовательского UIView, также правильно синтезированный.