/*
建立物件 1.
分配記憶體空間,儲存物件 2.
初始化成員變數 3.
反回物件的指標位址
//1.
物件在完成建立的同時,內部會自動建立乙個引用計數器,這個計數器,是系統用來判斷是否**物件的唯一依據,當我們的引用計數
retaincount=0
的時候,系統會毫不猶豫**當前物件
//2.[
物件release] reatincount - 1
//3.[
物件retain] reatincount + 1
,返回self
//4.
我們的引用計數
retaincount=0
的物件就被銷毀了
函式,當乙個物件要被銷毀的時候,系統會自動呼叫
dealloc
函式,通知物件你將要被銷毀
//記憶體管理原則
(配對原則
):只要出現了
new,alloc,retain,
就一定配對出現乙個
release,autorelease
//在物件自身被銷毀之前,一定要先呼叫
[super dealloc]
釋放父類中的相關物件 */
#import
#import
"person.h"
intmain(
intargc,
const
char
* argv)
單個物件記憶體管理分析
//記憶體管理原則
(配對原則
):只要出現了
new,alloc,retain,
就一定配對出現乙個
release,autorelease //
手動記憶體管理研究問題方法
//1.
野指標操作
//2.
記憶體洩漏
#import
#import
"person.h"
void
test()
void
test2()
void
test3()
void
test4()
void
test5(
person
* p)
intmain()
OC 手動記憶體管理
一.為什麼要進行記憶體管理 建立乙個oc物件 定義乙個變數 呼叫乙個函式或者方法 二.oc中的記憶體管理是管理的記憶體中的哪一部分 我們知道 記憶體分為五大區域 棧區,堆區,資料去,bss段,區。而最後三者是在程式啟動時由作業系統進行控制的,所以不需要我們管理。棧區儲存的也都是已經初始化的基本資料型...
OC語法 2 2 記憶體管理 手動記憶體管理2
五 copy語法 這篇建議學過foundation框架之後再學習 本小節知識點 基本用法 1 乙個物件可以使用 copy 或者mutablecopy 方法來建立物件的副本,當我們操作副本的時候不影響原物件 2 copy 需要先實現 nscopying 協議,建立的是不可變副本 如 nsstring,...
OC 記憶體管理基礎
oc記憶體管理基礎 本文 一.retain和release基本使用 使用注意 1.你想使用 占用 某個物件,就應該讓物件的計數器 1 讓物件做一次retain操作 2.你不想再使用 占用 某個物件,就應該讓物件的計數器 1 讓物件做一次release 3.誰retain 誰release 4.誰al...