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;    
        }    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章