object c多個物件的記憶體管理

2021-06-26 16:50:47 字數 1169 閱讀 9502

開啟xcode,新建command line tool工程(type選擇foundation),直到完成;

在工程下新建檔案:book和person;

book.m

#import "book.h"

@implementation book

- (void)setprice:(int)price

- (int)price

- (void)dealloc

@end

person.m

#import "person.h"

@implementation person

- (void)setbook:(book *)book

- (book *)book

- (void)dealloc

@end

main.m

#import #import "person.h"

#import "book.h"

int main(int argc, const char * argv)

book.h和person.h自己根據.m新增完整。

編譯並執行:

2014-10-30 23:10:28.022 02-多個物件的記憶體管理[991:303] book物件被**

2014-10-30 23:10:28.024 02-多個物件的記憶體管理[991:303] person物件被**

program ended with exit code: 0

object-c記憶體管理原則:

誰建立,誰release;

誰retain,誰release;

使用時引用計數器加一(retain或alloc/new),釋放時計數器減一;

注:xcode預設arc是 on 的狀態,這些**編譯不過,需要修改專案的編譯設定:「objectice-c auto reference counteting」設為no。

Object c 多個物件之間的記憶體管理

main.m main.m 02 多個物件之間的記憶體管理 1.你想使用 占用 某個物件,就應該讓物件的計數器 1 讓物件做一次retain操作 2.你不想再使用 占用 某個物件,就應該讓物件的計數器 1 讓物件做一次release 3.誰retain,誰release 4.誰alloc,誰rele...

Object C的物件模型

在object c的型別結構中,有幾個比較重要的概念object 例項 class 類 metaclass 元類 rootclass 根類 rootclass s metaclass 根元類 有物件導向程式設計語言背景的同學可以很容易理解類和例項。在object c中,object本質上是乙個str...

多個物件的記憶體管理分析

與單個物件相同記憶體管理分析相同,同樣是處理記憶體洩露和空指標的問題,分析背景為有乙個汽車 car 的類,乙個人 person 的類,人有一輛車,要保證,在人沒有被系統銷毀前,車不能被銷毀,分析如下 import 人擁有一輛汽車 import person.h int main int argc,c...