Como enviar uma superview no Objective C
Sou novo no objetivo C e cacau. Eu simplesmente não entendo como enviar uma mensagem para a superview de um UIView. Não consigo fazer funcionar. Aqui está o que eu tentei até agora:
No MainView, tenho um método chamado resetDrawType:
- (void) resetDrawType {
self.drawType = foo;
}
Também no MainView, crio uma subview e a adiciono ao MainView:
mySubView *mySubView = [[mySubView alloc] initWithFrame:CGRectMake(foo, foo, foo, foo)];
[self addSubview:mySubView];
[mySubView release];
Então, quando a subvisão terminar seu desenho, quero enviar a mensagem resetDrawType para sua superview, que é o MainVie
Eu tentei isso
[(MainView*)[self superview] resetDrawType];
[(MainView*)self.superview resetDrawType];
… O que não deu certo. Aprendi sobre protocolos informais, então adicionei esse código ao MainView.h
@interface NSObject ( resetters )
- (void) resetDrawType;
@end
Mas ainda nada. Em seguida, descobri essa coisa do seletor e tentei isso na subview:
if ([self.superview respondsToSelector:@selector(resetDrawType:)])
[self.superview performSelector:@selector(resetDrawType) withObject:nil];
Também não funcionou. O que estou fazendo errado? Obrigado pela ajuda