property的記憶體管理

2021-07-24 03:54:21 字數 917 閱讀 2555

1.set方法記憶體管理相關的引數

* retain : release舊值,retain新值(適用於oc物件型別)

* assign : 直接賦值(預設,適用於非oc物件型別)

* copy : release舊值,copy新值

2.是否要生成set方法

* readwrite : 同時生成setter和getter的宣告、實現(預設)

* readonly : 只會生成getter的宣告、實現

3.多執行緒管理

* nonatomic : 效能高(一般就用這個)

* atomic : 效能低(預設)

4.setter和getter方法的名稱

* setter : 決定了set方法的名稱,一定要有個冒號 :

*getter : 決定了get方法的名稱(一般用在bool型別)

@property book  *book  // 這個語句是直接賦值的,不會有retain

@property (retain) book *book // 生成的set語句會有retain的,相當於

- (void)setbook : (book *)book

}// 當然,如果property中又retain ,則實現中需要實現dealloc語句

- (void)dealloc

1.@class的作用:僅僅告訴編譯器,某個名稱是乙個類

@class person; // 僅僅告訴編譯器,person是乙個類

2.開發中引用乙個類的規範

1> 在.h檔案中用@class來宣告類

2> 在.m檔案中用#import來包含類的所有東西

3.兩端迴圈引用解決方案

1> 一端用retain

2> 一端用assign

記憶體管理範圍和 property

管理範圍 管理任何繼承nsobject的物件,對其他的基本資料型別無 效 本質原因是因為物件和其他資料型別在系統中的儲存空間不一樣,其它區域性變數主要存放於 棧中,而物件儲存於堆中,當 塊結束時這個 塊中涉及的所有區域性變數會被 指 向物件的指標也被 此時物件已經沒有指標指向,但依然存在於記憶體中,...

第四天 記憶體管理 property引數

1.通常引用乙個類有兩種方法 1,通過 import方法引入 2.通過 class引入 import和 class的區別 import b.h inte ce a nsobject end 1.import方式會包含被引用類的所有資訊,包括被引用類的變數和方法。class方式只是告訴編譯器在a.h檔...

記憶體管理 記憶體管理概述

儲存器的發展方向是高速 大容量和小體積,即儲存器嘗試更高讀寫速度,更大儲存容量,更小物理體積。在計算機中,常見的儲存器有 暫存器,快取,記憶體,硬碟,一般硬碟之類的輔助儲存器又稱外存。在平均讀寫速度上,有 暫存器 快取 記憶體 外存 在單位容量 上,有 外存 記憶體 快取 暫存器 cpu處理器只能直...