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

來源:互聯網
上載者:User

標籤:斯坦福   ios   學習筆記   

一、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基礎筆記》

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.