iOS 高階之路 2

2021-07-10 19:43:52 字數 1068 閱讀 3131

1.屬性

assign : 純量型別 例如 : cgfloat

strong : 「擁有關係」 為這種屬性設定新值時候,設定方法會先保留新值,並釋放舊值,然後將新值設定上去

weak : 「非擁有關係」 為這種屬性設定新值時候,既不保留新值,也不釋放舊值。屬性所指的物件遭到摧毀時,屬性值也會清空

unsafe_unretained : 不安全,當目標物件遭到銷毀時,屬性值不會自動清空,這一點和weak有區別

copy : 與strong類似,然而設定方法並不保留新值,而是將其 copy

2.在物件內部盡量直接訪問實力變數

比較合理折中的方案: setter 方法時 用 self.*** 因為這樣可以控制對屬性的寫入操作;getter 方法時 最好用 _*** 直接訪問。

對於不經常用到的可以使用懶載入 訪問

3.物件等同性:

想檢測物件的等同性,請提供「isequal:」 與 hash 方法

可以為自己的特定類定製等同性方法

- (bool) isequaltoperson:( person* )otherperson

…..return yes;

}4.「類族模式」

typededf ns_enum( nsuinteger, mkmyemployeetype );

+( mkmy )employeewithtype:( mkmyemployeetype )type

5 runtime語句

(1)傳送訊息: id returnvalue = objc_msgsend( someobject,

@selector( messagename: ),

parameter);

第乙個引數表示訊息的接受者,第二個引數代表選擇子,後續可以傳多個引數

(2)「黑盒測試」 : 交換方法 void method_exhangeimplementations( method m1, method m2 )

此函式的兩個引數表示待交換的兩個方法實現,方法的實現:

method class_get女生探測method( class aclass , sel aselector )

iOS 高階之路

自己閱讀,翻譯,裡面不懂的單詞,記下來,多學幾遍,這些你不懂的單詞,在以後你看其他時文件裡還會出現無數次的。堅持幾個月後,你會發現,英文的文件,看起來比中文的順眼了。為什麼要找自己熟悉的技術看,因為那樣的話,你更容易理解和增加信心。作為技術人員為什麼要寫部落格 即便沒有讀者,你也要寫部落格 原始碼 ...

自學ios之路(2)

距離第一次寫部落格已經快3個月了,這三個月發生了很多事情,不過總的來說,過的還是挺好的 5月份,來到了打算定居的城市 杭州,在杭州租了一套房子,兩居室,1.4,我覺的還可以,相比北京1.8k只有主臥,算是高大上了。公司平調過來 只是工資沒漲,有點可惜 5月中旬女友為了照顧我,辭掉了北京的工作,也來到...

iOS高階之路由MGJRouter 1(13)

之前也去了解路由的概念,但是一直拖著沒去認真學習,沒去實踐。因為一直覺得陌生不知怎麼下手。我知道大的專案以及元件化開發離不了路由實現。路由是一項重要的技能。我決定花一段時間去研究它 demo中實現它。一定要學會路由。並能很熟練的應用。一口吃不乙個胖子,要有耐心,從易到難。先學習乙個簡單的例子。這是蘑...