2013-05-29 1 views
0

я нашел крошечный вариант обычной схеме делегирования: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

ответ

0

Единственное различие должно быть или не использовать вас символ указателя. Я не верю, что есть какая-то разница, но зачем делать typedef, когда Objective-C дает вам идентификатор?

 Смежные вопросы

  • Нет связанных вопросов^_^