為了提高開發(fā)效率除了可以使用xcode集成的開發(fā)工具之外還可以使用第三方的框架,在ios的眾多框架中最常用的框架就是Foundation和cocoa
1:Foundation:為所有程序開發(fā)奠定基礎(chǔ)的框架稱為Foundation框架。該框架允許使用一些基本對象(如數(shù)字和字符串)以及對象集合(如數(shù)組,字典,集合),其他功能包括處理日期時間,自動化內(nèi)存管理,處理基礎(chǔ)文件系統(tǒng),存儲對象,處理幾何數(shù)據(jù)結(jié)構(gòu)
可以通過xcode的help菜單中的developer documentation查看文檔
#import<Foundation/Foundation.h>導(dǎo)入了頭文件即導(dǎo)入了其他所有foundation頭文件,所以不用擔(dān)心是否導(dǎo)入了正確的頭文件,xcode會自動將這個頭文件插入到程序中,雖然會增加編譯時間但是通過使用預(yù)編譯的頭文件可以避免這些額外的時間開銷。預(yù)編譯的頭文件是經(jīng)過編譯器預(yù)選處理過的文件。在默認情況下所有xcode項目都會受益于預(yù)編譯的頭文件。
2:cocoa:Application kit框架包含廣泛的類和方法,它們能夠開發(fā)交互式圖形應(yīng)用程序,使得開發(fā)文本,菜單,工具欄,表,文檔,剪貼板和窗口等應(yīng)用變得十分簡單。它是由兩個框架組成:foundation和application kit。applicationkit用于提供與窗口,按鈕,列表等相關(guān)的類。(user 用戶--->application應(yīng)用-->cocoa(Foundation和application kit)框架---->application services應(yīng)用程序服務(wù)-->core services核心服務(wù)-->mac osx 內(nèi)核-->computer Resources計算機資源(內(nèi)存,磁盤,顯示器等等))
內(nèi)核以設(shè)備驅(qū)動程序的形式提供與硬件的底層通信,負責(zé)管理系統(tǒng)資源包括調(diào)度要執(zhí)行的程序,管理內(nèi)存和電源以及執(zhí)行基本的I/O操作。
核心服務(wù)提供的支持比它上面的層次更加底層更核心;
程序服務(wù)層包含對打印和圖形呈現(xiàn)的支持 包括Quartz,OPenGL和Quicktime。
cocoa框架用于mac osx桌面和筆記本電腦的應(yīng)用程序開發(fā),cocoa Touch框架才是用于Iphone與itouch應(yīng)用程序開發(fā)。cocoaTouch中UIkit代替了appkit以便很多相同的類型的對象提供支持(如窗口,視圖,按鈕。。。等)另外cocoaTouch還提供使用加速器的類和觸摸式界面,并且去掉了不需要的類(比如支持打印的類)。
3:常用第三方框架:為了提高開發(fā)效率需要借助第三方開發(fā)工具。如測試程序需要的模擬器,設(shè)計界面需要的interface builder。
模擬器在程序運行時會自動啟動,xcode會自動將程序安裝到模擬器上。
interface Builder:用于設(shè)計和測試用戶界面GUI的應(yīng)用程序。為了生存GUI,InterfaceBuilder并不是必需的,實際上mac osx下所有的用戶界面元素都可以使用代碼直接生成。但是interface Builder能夠使開發(fā)者簡單快捷 的開發(fā)符合mac osx ?的GUI。通常只需要簡單拖拽操作來構(gòu)建GUi就可以了。interface Builder使用Nib文件存儲Gui資源,同時適用于cocoa和carbon程序。在需要的時候Nib文件可以被快速載入內(nèi)存。interface Builder是一個可視化工具,用于設(shè)計iphone應(yīng)用程序的用戶界面??梢栽趇nterface builder中將視圖拖拽到窗口上并將各種視圖鏈接到插座變量和動作上,這樣就能以編程方式和代碼交互