Эти два термина синонимичны в моем ментальном словаре. Суперпредставление - это представление, которое содержит ваше представление. Что вы ожидаете, что это значит?
ичок в Objective C и какао. Я просто не понимаю, как отправить супервизию UIView. Я не могу заставить это работать. Вот что я попробовал до сих пор:
В моем MainView у меня есть метод с именем resetDrawType:
- (void) resetDrawType {
self.drawType = foo;
}
Также в MainView я создаю подпредставление и добавляю его в MainView:
mySubView *mySubView = [[mySubView alloc] initWithFrame:CGRectMake(foo, foo, foo, foo)];
[self addSubview:mySubView];
[mySubView release];
Затем, когда подпредставление завершило рисование, я хочу отправить сообщение resetDrawType своему суперпредставлению, которое является MainView.
Я пробовал это
[(MainView*)[self superview] resetDrawType];
а также
[(MainView*)self.superview resetDrawType];
... что не сработало. Я узнал о неформальных протоколах, поэтому я добавил этот код в MainView.h
@interface NSObject ( resetters )
- (void) resetDrawType;
@end
Но все равно ничего. Затем я узнал об этой вещи селектора и попробовал это в подпредставлении:
if ([self.superview respondsToSelector:@selector(resetDrawType:)])
[self.superview performSelector:@selector(resetDrawType) withObject:nil];
Это также не сработало. Что я делаю неправильно? Спасибо за вашу помощь.