я нашел крошечный вариант обычной схеме делегирования:id <ProtocolDelegate> в скобках: почему бы не typedef?
Мой протокол определяется в некоторой Protocol.h, т.е.
@protocol ProtocolDelegate <NSObject>
//…
@end
//The variant, see below
typedef NSObject <ProtocolDelegate> Delegate;
Далее в моем ViewController.h
@interface: UIViewController
@property (nonatomic, strong) Delegate*delegateOfviewController;
//…
@end
Тогда в моей ViewController.m
@implementation ViewController
@synthesize delegateOfviewController;
//…
@end
Наконец, в моем AppDelegate.m
//…
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//…
self.ViewController.delegateOfviewController = self;
//…
[self.window makeKeyAndVisible];
return YES;
}
И все идет отлично. Действительно ли это эквивалентно обычным способом «id delegate», или вы считаете, что такого типа typedef следует избегать?
Спасибо!
jgapc