詳談Cocoa程序啟動過程
詳談Cocoa程序啟動過程是本文要介紹的內(nèi)容,首先,我們的程序運行的時候是對象之間的相互作用,而不是類之間的作用。
新建一個helloword的cocoa程序,可以在xib中找到下面幾個對象:
file's Owner:xib文件的加載者
firsrt responder :消息鏈中第一個能響應相應消息的對象。
application :nsApplication的一個實例。
main menu:nsmenu的一個實例。
window app delegate:application的委托實例
font manager:nsFontManager的一個實例。
1、程序啟動,從mian開始,實例化一個nsapplication。
2、application加載mainmenu.xib,它怎么知道要加載這個sib文件而不是別的呢?這個其實是在info.plist文件中指定的。
3、application加載完這個文件后就成了mainmemu.xib的File'Owner。
4、nsApplication有個delegate的Outlet,用以指定它的委托對象
5、application實例在加載這個xib文件的過程中會調(diào)用window app delegate中的方法。
6、applcation加載xib文件后會根據(jù)文件的內(nèi)容實例化里面其他的類,創(chuàng)建窗口,試圖等。進入消息循環(huán)。
7、firsrt responder 是消息鏈中第一個能響應相應消息的對象,它不是具體指哪個對象,如用戶單機一個“復制”菜單,如果當前焦點在編輯框中則第一個能響應“復制”這個消息的可能是編輯框,而如果當前在瀏覽器中,則第一個能響應該消息的是瀏覽器視圖對象。
小結(jié):詳談Cocoa程序啟動過程的內(nèi)容介紹完了,希望本文對你有所幫助!