Objective-C中协议和委托

来源:互联网 发布:微电影软件 编辑:程序博客网 时间:2024/06/05 18:58
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
[cpp] view plaincopyprint?
  1. #import  
  2. int main(int argc, char *argv[])  
  3. {  
  4. NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];  
  5. int retVal = UIApplicationMain(argc, argv, nil, nil);  
  6. [pool release];  
  7. return retVal;  
  8. }  
原创粉丝点击