проблема в этом ...
Я создал класс, который расширяет UIBezierClass с именем PathExtended, в который я добавил NSString ID;
У меня есть массив PathExtended.
В методе drawrect я написал:
p = [[PathExtended alloc] init];
for (int i=0; i<[arrayOfPaths count]; i++) {
[p appendPath:[arrayOfPaths objectAtIndex:i]];
[p closePath];
}
[p applyTransform:CGAffineTransformMake(a, b, c, d, e, f)];
[p fill];
Теперь, если я тестирую методом touchend:
if ([p containsPoint:pointTouched]) {
NSLog(@"There is!");
}
Все нормально !!! Вместо этого, если я проверю:
if ([p containsPoint:pointTouched]) {
NSLog(@"ID= %@", p.ID);
}
Журнал пуст! !!
Я могу понять, почему это происходит, но я не могу понять, как решить проблему.
Я думал, что appendPath создает уникальный путь, поэтому каждая информация о пути, например, ID, теряется.
Я также подумал, что если я нарисую каждый путь без использования метода appendPath, я смогу решить проблему, но ... я не знаю ... кажется, что я иду по неправильному пути.
Есть идеи ???
Извините за мой английский (я итальянец: P)
EDIT:
PathExtended .h
@interface PathExtended : UIBezierPath {
NSString* ID;
}
@property (nonatomic, readwrite) NSString* ID;
-(id) initwithID:(NSString*) _ID;