我的問題是基於這樣一個事實,即可能有多個小型項目,然後想要將它們集成到一個更大的項目中,以提高編碼效率。沒有應用程序委託可以工作嗎?
我看到了多個項目,根本沒有使用App Delegate,我認爲Adium項目就是其中之一。過去我也有幾次能夠重新創建它,現在我不記得如何。
我想一個基本的NSObject繼承類將適合,加上它的實例化和連接。
問題是,是否可以在沒有App Delegate的情況下工作(或者有解決方法)?
我的問題是基於這樣一個事實,即可能有多個小型項目,然後想要將它們集成到一個更大的項目中,以提高編碼效率。沒有應用程序委託可以工作嗎?
我看到了多個項目,根本沒有使用App Delegate,我認爲Adium項目就是其中之一。過去我也有幾次能夠重新創建它,現在我不記得如何。
我想一個基本的NSObject繼承類將適合,加上它的實例化和連接。
問題是,是否可以在沒有App Delegate的情況下工作(或者有解決方法)?
如果您想實施NSApplicationDelegate
協議中聲明的某些方法來響應某些應用程序生命週期事件,則需要應用程序委託。如果您不需要實現其中的任何一種,則不需要應用程序委託。一些委託方法也有通知選擇。
什麼屬於應用程序生命週期事件?顯示一個窗口並使元素相互影響? –
查看我鏈接的文檔。該協議中的所有內容都必須在應用程序委託中實現。請注意,這個對象可以是任何東西。它只是一個協議(也就是其他語言的接口)。 – DrummerB
我試了一下,得到了一個基本的設置,我沒有使用應用程序委託,但在對象中實例化類作爲'準委託',但類的代碼不能運行(斷點檢查)...什麼可能我現在做的? –
OK,從您的評論...
I mean having no additional code in AppDelegate
然後是。
這不僅是可能的,它是建議。正是因爲你說過的原因。
應用程序代表作爲應用程序和操作系統之間的通信層。即「應用程序已經啓動」,「應用程序即將關閉」,「應用程序剛剛收到通知」等等。
所有這些都是應用程序委託的目的。
你的應用程序的邏輯不應該去你的應用程序代表附近的任何地方。就像您所說的,您的應用中可能會有不同的應用或不同的目標,它們使用不同的應用代理。
如果您有代碼,那麼您將不得不將其複製到每個副本。
也有很多其他的原因。
這裏是一個快速鏈接... http://www.hollance.com/2012/02/dont-abuse-the-app-delegate/
有關於不使用的應用程序委託其他許多人。
我同意,由於很多原因,它是非常重要和重要的,我也閱讀了該資源。現在我需要弄清楚的是如何使任何代碼可執行,因爲我嘗試了沒有AppDelegate設置和通過斷點,我發現我的代碼沒有運行。 –
請注意,一個非常非常基本的設置就足以說明它是如何工作的。接受你的答案,我們正在接近這裏的解決方案!謝謝@Fogmeister。 –
你的意思是根本沒有AppDelegate或只是不向AppDelegate添加額外的代碼? – Fogmeister
我的意思是在AppDelegate中沒有額外的代碼 –