黑马程序员技术交流社区

标题: OC中协议和委托 [打印本页]

作者: ZXY66452    时间: 2015-12-4 22:02
标题: OC中协议和委托
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;   
        }   





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2