Objective-C中协议和委托

Objective-C中的协议(Protocol)类似于常用的接口,协议(Protocols)中定义的方法,在类中实现。 
@protocol MyFirstProtocol 
- (void)myFirstProtocolMethod; 
@end 
在iPhone OS中,协议(Protocol)通常用来实现委托对象(Delegate Object)。委托对象(Delegate Object)一般用来自己定义行为或者动作,也就是调用自己定义方法,但自己不实现该方法,委托其它的类来实现该方法。
UIApplication类就是一个典型的例子。UIApplication类中定义了一个应用程序应有的行为或者动作。而不是强制让你的UIApplication子类去接受当前应用程序的状态消息并做出相应处理。UIApplication类通过调用特殊的方法,来传递这些消息给它的委托对象。这个委托对象通过实现名为UIApplicationDelegate的协议(Protocol),之后就可以接受到当前应用程序的状态消息并做出相应处理。比如内存不够的错误,应用程序被中断等重要消息。 
下面是一个HelloWorld代码: 
main.m 

#import    
   int main(int argc, char *argv[])    
   {    
   NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];    
   int retVal = UIApplicationMain(argc, argv, nil, nil);    
   [pool release];    
   return retVal;    
   }   
posted @ 2012-04-12 22:01  生活不是用来挥霍的  阅读(241)  评论(0编辑  收藏  举报