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; }