2012-02-09 77 views
2

簡短的回答:如何添加應用程序委託回的MainWindow.xib

拖動對象從對象庫,並設置其類委託。

詳情請參閱下面的答案。

我不小心從mainwindow.xib中刪除了應用程序委託。我到處看看,但仍然找不到添加它的方法。我試圖在網上找到它,但仍然沒有結果。任何人都可以幫我解決它嗎?謝謝。

我的項目

My project

其他的項目

Other's project, which has appdelegate

的main.m

#import <UIKit/UIKit.h> 

int main(int argc, char *argv[]) 
{ 
    @autoreleasepool { 
     return UIApplicationMain(argc, argv, nil, nil); 
    } 
} 

回答

6

通常你的AppDelegate不會被任何.xib文件引用。相反,你的main.m會實例化一個AppDelegate的實例(通過UIApplicationMain函數),然後你的AppDelegate會實例化一個或多個你的視圖控制器,而這些視圖控制器將依次解析基於.xib文件的一些視圖。

的入口點在main.m,在您的AppDelegate被實例化並啓動你的應用程序的應用程序,應該是這樣的(如果您的應用程序委託有不同的類名,用它來代替AppDelegate

int main(int argc, char *argv[]) 
{ 
    @autoreleasepool { 
     return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 
    } 
} 

...但是,如果你的應用程序有一個MainWindow.xib,上面的代碼都是不正確的,而你確實想在MainWindow.xib中創建一個AppDelegate的實例,爲此,只需從對象庫中拖拽一個通用對象到在IB中的Objects區域,然後轉到Identity Inspector並將Class字段設置爲您的App Delegate的類名(您可以從Object Library和Identity Inspector中獲取查看/工具。

+0

謝謝@yuji,我該怎麼做才能讓它恢復原狀? – ThinkChris 2012-02-09 21:51:11

+1

我很困惑 - 這是因爲您的應用程序委託的「缺席」,您無法完成哪項工作?我說「缺席」,因爲它通常首先不會被mainwindow.xib引用。 – yuji 2012-02-09 21:55:19

+0

感謝您的快速回復,我上傳了一張圖片。我的問題是如何將appdelegate添加到筆尖。 – ThinkChris 2012-02-09 22:16:35