IOS-四層
Core OS
大多數用C寫的API
Core Services
里面有大概數組,字典,字符串,定位,網絡請求,線程,文件請求,SQLite數據表,等
Media
里面有動畫,音頻,視頻,視頻編輯,圖片處理,動畫渲染
Cocoa Touch
里面有手勢 WebView,Alerts Core, MOtion,ImagePicker,Controller,Camera,Mapkit UIKIt
MVC架構
基本介紹:
View:構建UI的類;例如:按鈕,標簽,進度條等。
Model:View所需的數據
Controller:連接VIew和Model,控制Model將數據顯示在View上
通信方式
IOS-MVC
1、Controller可以直接訪問Model ,將Model作為Controller的屬性一樣直接調用
2、Controller可以直接訪問View,將View作為控制器的屬性一樣直接調用
3、Model和View之間無法直接訪問對方:
4、Model到Controller之間
1.廣播機制(Notification):控制器注冊監聽某模型數據變化的廣播頻道,當此模型數據變化后向該控制器發送廣播,告知模型變化情況。
2.KVO機制(Key-Value Observing):模型作為控制器的屬性,當模型屬性被修改后,持有此模型屬性的控制器就會收到通知。
5、VIew到Controller之間
視圖到控制器的通信:
1.目標動作機制(target - action):用戶在View的按鈕里點擊,View射向Controller的target,這是一個動作(action),Controller再給View的按鈕一個反饋,這是發送消息。
2.委托機制(delegate):View委托Controoler某些自己無法決定的動作,控制器才是掌握全局的角色,很多時候視圖是無法自己做決定的。delegate一般是動作。
3.數據源機制(dataSource):View讓Controller給它將要顯示的數據,data source一般是對數據的處理。