詳解Mac Os Cocoa框架概述
詳解Mac Os Cocoa框架概述是本文要接的內(nèi)容,很詳細(xì)的介紹了cocoa框架,不多說了,先來了解內(nèi)容。本文主要講一下從linux命令行程序員轉(zhuǎn)變過來的程序員要如何入門。
1. 以前在linux命令行下寫代碼的時候,只需要知道幾個系統(tǒng)調(diào)用,libc的庫函數(shù),就可以自己隨心所欲的寫代碼來完成需要的功能。但在cocoa下就不行,他們是自包含,能夠完整運行的代碼,咱們一行代碼都不加,他們也能正常運行。也就說在cocoa下,程序的主框架是定死了的,不能由程序員修改,程序員需要做的,就是在cocoa指定的地方加上“hook”,只有在這些hook上加上我們自己的代碼,這樣cocoa框架才能調(diào)用我們自己的代碼,來實現(xiàn)各種各樣的功能。cocoa編程實際是一個在為cocoa框架添磚加瓦的過程。
2.在圖形界面下編程,引入了新的概念,叫design pattern,名字很抽象,但具體點來說,就是為了解決某種問題,而創(chuàng)造的一種編程方式。比如cocoa下很重要的有MVC,delegate, target-action等模式,這些模式都是為了解決某類編程問題,比如MVC這種設(shè)計模式,是為了解決圖形化編程的時候,讓class的設(shè)計更清晰,delegate是為了方便擴充一種控制類(controller class)的一種設(shè)計模式。
這樣說可能難以理解,如果熟悉了cocoa的教程再回過頭來看,就會發(fā)現(xiàn)理解各種design pattern是理解cocoa的關(guān)鍵,因為這些design patter解釋了在哪里添加自己的代碼以及為什么要再那里添加代碼。
3。在cocoa框架下,程序的驅(qū)動是各種消息,也就是程序的***目的就是為了響應(yīng)處理系統(tǒng)或用戶對界面的操作產(chǎn)生的消息。消息傳遞的路徑可以參考apple的cocoa fundamentals guide。那各種class是怎么相應(yīng)這些消息的呢(也就是我們的hook怎么加到這個框架中呢)?主要有以下幾種方式
通過sub class的方式擴展view控件,重載或添加新的消息響應(yīng)函數(shù)
通過delegate擴充view控件,因為view獲得消息以后,都會把消息還遞給自己的delegate notification centers等
4.開發(fā)mac/ios程序一般使用xcode+interface builder來做的,這兩個程序是什么關(guān)系呢?簡單的說,xcode是源代碼編輯環(huán)境,而interface builder是運行時的編輯器。為什么這么說呢,回憶一下咱們編程都時在干什么?定義對象模版(聲明class)+生成對象+處理對象之間的關(guān)系。
這些動作在xcode環(huán)境中都是可以通過敲代碼的方式完成的,那么為什么還需要用interface builder呢?interface builder實際上時用來完成后兩項任務(wù)的,也就是生成對象+處理對象之間的關(guān)系。interface build處理這兩項任務(wù)有天然的優(yōu)勢,就是可以用圖形化拖拽的方式來完成。所以用它來創(chuàng)建程序的界面涉及到的對象直觀又方便。
cocoa框架方面的入門知識就是這些,掌握呢這些東西以后,其他的就需要去學(xué)習(xí)cocoa提供的class,并思考怎么組合這些class來完成自己的工作,就是一個搭積木的過程。
小結(jié):詳解Mac Os Cocoa框架概述的內(nèi)容介紹完了,希望本文對你有所幫助!