《iOS程式設計》讀書筆記

2021-08-03 14:38:17 字數 1227 閱讀 3229

第2章 objective-c

1.訊息和方法的區別:方法是指一塊可以執行的**,而訊息是指要求類或物件執行某個方法的動作;

2.訊息的名稱和將要執行的方法的名稱一定是相同的;

3.在oc中,方法的唯一性取決於方法名。因此,即使引數型別或返回型別不同,乙個類也不能有兩個名稱相同的方法;

4.oc允許向某個值為nil的變數傳送訊息,且不會發生任何事情,在其他語言中,向空指標傳送訊息是非法的;

5.instancetype只能用來表示方法返回型別,但id還可以用來表示變數和方法引數的型別;

6.在初始化方法中,應該直接訪問例項變數,而不是使用訪問方法;

7.陣列物件(nsarray與nsmutablearray)只能儲存指向oc物件的指標,不能將基本型別的變數或c結構加入陣列物件。可以將它們包裝成oc物件,如nsnumber, nsvalue和nsdata;

8.不能將nil加入陣列物件,但可以加入nsnull物件;

第3章 通過arc管理記憶體

1.物件所有權:

(1)當某個方法(或函式)有乙個指向某個物件的區域性變數時,可以稱該變數擁有(own)該變數所指向的物件;

(2)當某個物件有乙個指向其他物件的例項變數時,可以稱該物件擁有該例項變數所指向的物件。

2.哪種情況會使物件失去擁有者:

(1)當程式修改某個指向特定物件的變數並將其指向另乙個物件時;

(2)當程式將某個指向特定物件的變數設定為nil時;

(3)當程式釋放物件的某個擁有者時;

(4)當從collection類中(例如陣列)刪除物件時。

3.屬性的特性:

(1)nonatomic和atomic,atomic為原子操作,多執行緒安全,而nonatomic則不是,預設為atomic;

(2)readwrite和readonly,顧名思義,不解釋了,readonly型別只會生成取方法,預設為readwrite;

(3)記憶體管理特性:strong, weak, copy, unsafe_unretained.詳見下面;

第4章1.任何乙個應用都有且只有乙個uiwindow物件,他就像乙個容器,負責包含應用中所有的檢視;

2.為什麼core graphic型別都帶ref字尾:core graphic結構體和oc物件都是在堆上分配記憶體,使用這種分配方式的c結構都有乙個用來表示結構指標(結構名加)的型別定義,如cgcolor結構不直接使用cgcolor,而是使用cgcolorref;

第6章

iOS 讀書筆記 cookie

cookie是什麼東西?cookie session機制詳解這位博主寫的很詳細,可以看一下。ios 應用中可以在http連線中方便的使用cookie。url載入框架幫我們做了大量的工作以利用協議的這個特徵。經常用到cookie的地方有3個 檢索cookie的值 顯示刪除cookie 手工將cooki...

讀書筆記 iOS 類別

一,類別是一種為現有的類新增新方法的方式。二,類別的侷限性。1,無法向類中新增新的例項變數。類別沒有位置容納例項變數。2,名稱衝突,即類別中的方法與現有的方法重名。當發生名稱衝突時,類別具有更高的優先順序。你的類別名稱將完全取代初始方法,從而無法再使用初使方法。有些程式設計人員在自己的類別方法名中增...

讀書筆記 iOS 類別

一,類別是一種為現有的類新增新方法的方式。二,類別的侷限性。1,無法向類中新增新的例項變數。類別沒有位置容納例項變數。2,名稱衝突,即類別中的方法與現有的方法重名。當發生名稱衝突時,類別具有更高的優先順序。你的類別名稱將完全取代初始方法,從而無法再使用初使方法。有些程式設計人員在自己的類別方法名中增...