iOS菜鳥成長筆記(3)——斯坦福公開課學習(1)

一、iOS四層結構


1、Core OS

是用FreeBSD和Mach所改寫的Darwin, 是開源、符合POSIX標準的一個Unix核心。這一層包含或者說是提供了整個iPhone OS的一些基礎功能,比如:硬件驅動, 內存管理,程序管理,線程管理(POSIX),文件系統,網絡(BSD Socket),以及標準輸入輸出等等,所有這些功能都會通過C語言的API來提供。另外,值得一題的是,這一層最具有UNIX色彩,如果你需要把 UNIX上所開發的程序移植到iPhone上,多半都會使用到Core OS的API.

2、Core Service

Core Services在Core OS基礎上提供了更爲豐富的功能, 它包含了Foundation.Framework和Core Foundation.Framework, 之所以叫Foundation ,就是因爲它提供了一系列處理字串,排列,組合,日曆,時間等等的基本功能。Foundation是屬於Objective-C的API,Core Fundation是屬於C的API。另外Core servieces還提供了其他的功能,比如:Security, Core Location, SQLite, 和Address Book. 其中Security是用來處理認證,密碼管理,按安全性管理的; Core Location是用來處理GPS定位的;SQLLite是輕量級的數據庫,而AddressBook則用來處理電話薄資料的。

3、Media

如同其名,Media層提供了圖片,音樂,影片等多媒體功能。圖像分爲2D圖像和3D圖像, 前者由Quartz2D來支持,後者則是用OpenglES.與音樂對應的模組是Core Audio和OpenAL, Media Player 實現了影片的播放, 而最後還提供了Core Animation來對強大動畫的支持。

4、Cocoa Touch

最上面一層是Cocoa Touch,它是Objective-C的API, 其中最核心的部分是UIKit.Framework,應用程序界面上的各種組件,全是由它來提供呈現的,除此之外它還負責處理屏幕上的多點觸摸事件,文字的輸出,圖片,網頁的顯示,相機或文件的存取,以及加速感應的部分等。

二、iOS中的MVC


如上圖所示,我們將劃分爲三個部分,白色分割線條表示可以直接訪問,黃色分割線條表示不能直接訪問。

我們現在要訪問某個視圖UIView中的屬性,就需要使用Outlet進行直接訪問,如果視圖中有某些事件(比如點擊、滑動)要通知控制器(Controller)則需要通過action或者delegate的方式進行訪問,而Model的數據變化是通過廣播來進行通知Controller的。

三、第一個Objective-C重點及注意點

我們新建一個Card類,包含兩個文件(Card.h文件和Card.m文件)

** Card.h是公有聲明,Card.m是私有實現


如上圖所示,私有的聲明可以在Card.m文件中進行聲明。

** 點語法只適用於getter和setter方法(返回值爲void的其他方法只有語法警告,但是不建議使用)

** Objective-C和Java不同的是屬性不能直接通過點語法訪問(點語法實際上調用的是getter和setter方法)

其他語法請參考系列博客《Objective-C基礎筆記

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章