開啟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...