OC——52個(gè)有效方法:7.對(duì)象內(nèi)部盡量直接使用訪問實(shí)例變量

建議:采用直接訪問取值的方法

  • 直接取值 : _name、_age
  • 屬性訪問 :self.name、self.age

區(qū)別:

  • 直接訪問屬性速度快,編譯器生成代碼會(huì)直接訪問保存對(duì)象的內(nèi)存
  • 直接訪問,不會(huì)調(diào)用getter方法。例如在ARC下訪問copy的屬性,不會(huì)拷貝該屬性,只會(huì)保留新值,釋放舊值。
  • 直接訪問,不會(huì)觸發(fā)KVO
  • 直接訪問,可以給setter和getter方法加斷點(diǎn),監(jiān)控該屬性的調(diào)用者和訪問時(shí)機(jī)

建議:

  • 采用getter方法寫值,采用setter讀取直接訪問變量
  • 初始化方法設(shè)置屬性值,直接訪問實(shí)例變量,根據(jù)情況而定是否采取getter方法
  • 懶加載,必須采用setter方法寫值,不然永遠(yuǎn)都不會(huì)初始化!

總結(jié)

  • 對(duì)象內(nèi)部讀取數(shù)據(jù)時(shí),對(duì)象讀數(shù)據(jù)采用直接變量來讀取,寫入數(shù)據(jù)采用屬性值獲取
  • 初始化方法、dealloc方法中,直接通過實(shí)例變量來讀取
  • 懶加載使用屬性值來讀取數(shù)據(jù)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容