1> 淺拷貝:指針(地址)拷貝,不會產生新對象 java
2> 深拷貝:內容拷貝,會產生新對象服務器
類別主要有3個做⽤:
(1)將類的實現分散到多個不一樣⽂件或多個不一樣框架中。
(2)建立對私有⽅法的前向引⽤。
(3)向對象添加⾮正式協議。網絡
1> 分類能夠在不修改原來類模型的基礎上拓充方法框架
2> 分類只能擴充方法、不能擴充成員變量;繼承能夠擴充方法和成員變量,異步
會產生新的類this
1> 分類是有名稱的,類擴展沒有名稱spa
2> 分類只能擴充方法、不能擴充成員變量;類擴展能夠擴充方法和成員變量代理
3> 類擴展通常就寫在.m文件中,用來擴充私有的方法和成員變量(屬性)指針
注意:繼承和類擴展均可以擴充方法和成員變量,可是繼承會產生新的類,可是類擴展不會產生新的類。對象
1> Java的接口中聲明的方法必須都實現
2> Oc的protocol中聲明的方法並不必定要實現
注意:protocol簡單來講就是一系列方法列表,能夠聲明不少方法,聲明方法能夠被任何類實現,稱爲代理模式。
1> mutable是可變類型,好比NSMutableArray,能夠動態往裏面添加元素
2> immutable是不可變類型,好比NSArray,固定的存儲空間,不能添加元素
1> 動態綁定:對象類型在運行時才真正肯定
2> 多態性
3> 消息機制
1> 本地推送:程序內部彈出通知到用戶設備
2> 遠程推送:由推送服務器推送通知到用戶設備
多態:父類指針指向子類對象
響應者鏈:
l UIResponder有一個nextResponder屬性,經過該屬性能夠組成一個響應者鏈,事件或消息在其路徑上進行傳遞
l 若是UIResponder沒有處理傳給它的事件,會將未處理的消息轉發給本身的nextResponder
1> frame以父控件的左上角爲座標原點
2> bounds以控件自己的左上角爲座標原點
selector是一個方法的名字,經過一個selector能夠找到方法地址,進而調用一個方法 ;method是一個組合體,包含了名字和實現.
1> OC 1.0沒有垃圾回收
2> OC 2.0有垃圾回收,只能用在Mac上
3> iOS中有ARC機制,是編譯器特性,垃圾回收是運行時特性
1> 用來存放NSOperation對象的隊列,能夠用來異步執行一些操做
2> 通常能夠用在網絡請求等耗時操做
延遲加載:好比控制器的view,在第一次用到view時纔會調用loadView方法進行建立
一個控制器內部添加2個表格控制器是沒有問題的,加判斷條件判斷是哪一個tableview。
從對象屬性上分析,tableView只有一個dataSource屬性。固然,真要使用2個不一樣的數據源,也是能夠的。