Ho una classe controller di visualizzazione (MyViewController) che si occupa di una sottoclasse UIView (MyView). Non voglio consentire a nessuna classe tranne la classe del controller di visualizzazione di conoscere la sottoclasse UIView, quindi non è possibile importare MyView.h
in MyViewController.h
.Protocolli "privati" Objective-C?
Così, in MyViewController.m
, ho messo
#import "MyViewController.h"
#import "MyView.h"
@interface MyViewController (PrivateObjects)
MyView *myView;
@end
...
Tuttavia, per ottenere un feedback da MyView, io uso un delegato. Quel delegato deve implementare il protocollo MyViewDelegate
.
Come posso implementare il protocollo MyViewDelegate
all'interno MyViewController
senza dover #import
MyView.h
in MyViewController.h
?
Che cosa succede se il delegato contiene un metodo '(a proposito, non si può dichiarare una nuova Ivar in una categoria.) - (void) myView : (MyView *) myView textDidChange: (NSString *) text'? – ryyst