Object - C基礎篇(-)

來源:互聯網
上載者:User

標籤:

什麼是協議
是一種文法  像現實中的 勞動協議 等
規範介面  實現對象之間的通訊
只是聲明方法  遵守協議的類  來實現
方法有  必須實現 和不必須實現兩種
常用於 代理 深淺拷貝  歸檔(NScoding)  規範介面
不同的類   想做相同的事情  常用協議規範他們的行為  進而達到規範介面的目的
oc沒有多繼承  所以用協議
比如 以後公司裡 代碼的封裝 不同的類 常用 協議規範
arc
1.ios5之後 出現的 一種 記憶體自動管理機制*(還會自動檢測 資料類型)
不需要 像以前一樣 通過 retain 使引用計數器
+1,或者手動添加release使引用計數器減一
或者 AUtolease

不能顯示調用 deleaoc

retain/copy
使用copy必須遵守NScoping協議
retain 使對象引用計數器+|
assign直接賦值 不會是對象引用計數器加減
autorelease把對象的地址 放到離他最近的 自動釋放池裡 延時釋放
dealloc 對象的引用計數器減為0的時候 自動調用 dealloc

、、、、、、、、、、、、、
self.name =XX是一個set方法 可以KVO監聽(set/kvc)內部考慮記憶體管理
_name只是一個簡單的變數賦值,在ARC下要考慮記憶體 ,因為預設這是一個強引用指標

類別
升級一個類、給原有的類增加方法 2不能增加屬性
3繼承 父類所有的方法和屬性(包括父類用類別增加的方法也能繼承)
strong weak
是ARC的文法,weak 弱引用指標 weak 指向的對象 可以直接賦值,而且 一旦這個對象被銷毀,weak修飾的指標置為nil
strong 是強引用指標,會使引用計數器 自動加+1

weak/asign
1都有直接賦值的意思
2weak 是修飾弱引用指標的,是ARC的文法。asign在ARC和MRC下都能用,ARC下只能修飾一些基礎資料型別 (Elementary Data Type),MRC下也可以是修飾弱引用對象地址。

混編
在工程target設定中
arc  -fno-objc-arc
-fobjc-arc
o-c多繼承
用協議代替但 本質是沒有多繼承的,只是可以遵守多個協議,也能有繼承多個類的效果,
實現多個協議方法,進而有多繼承的效果,只是類比,但沒有毛線的關係。
o-c有沒有私人變數,和私人方法,如果沒有 怎麼實現

成員變數預設是protect的 受保護的,也可以修飾成私人的provate,
但是 沒有私人方法
在聲明部分不聲明(或者在類的匿名類別中聲明) 在類的實現部分 實現,實現私人的效果,但是本質是沒有私人方法的,因為可以用選取器進行訪問,這就是o-c的動態機制,根本沒有真正的私人

#include#[email protected]
#import不用添加條件編譯#include必須要條件編譯 防止標頭檔多次被包含導致重複定義
@class前向引用申明,目的是防止,相互包含,告訴編譯器,我後面會聲明,現在這裡定義一下,請允許存取。


只copy 對象引用  ()歸檔時深拷貝

MVC 架構設計模式好幾十了,現在c層過重,降低了編輯效率,所有有一種編輯叫 MVVM

是對象獨立化  代碼複用 增強健壯性 降低軟體成本
觀察者模式
通知,KVO

Object - C基礎篇(-)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.