//room.h
#import
@inte***ce
room : nsobject
@property
int no;//
房間號@end
//room.m
#import
"room.h
"@implementation
room
- (void
)dealloc
@end
//#import
#import
"room.h
"@inte***ce
person : nsobject
- (void)setroom:(room *)room;
- (room *)room;
@end
//#import
"person.h
"@implementation
person
//當a物件想使用b物件一定要對b物件進行一次retain, 這樣才能保證a物件存在b物件就存在, 也就是說這樣才能保證無論在什麼時候在a物件中都可以使用b物件
//當a物件釋放的時候, 一定要對b物件進行一次release, 這樣才能保證a物件釋放了, b物件也會隨之釋放, 避免記憶體洩露
//總結一句話: 有增就有減
- (void)setroom:(room *)room //
room = r
- (room *)room
- (void
)dealloc
@end
////多個物件的記憶體管理
#import
#import
"person.h
"#import
"room.h
"int main(int argc, const
char *ar**)
return0;
}
OC中記憶體管理 MRC 多物件管理
2019獨角獸企業重金招聘python工程師標準 將以乙個精武團這個遊戲來做例子。遊戲者需要開房,那麼這個房子就這個人使用,當這個人還在這個房間的時候就不能釋放這個房間,否則這個遊戲就有個bug,同樣的道理,這個房子可以被多個人引用。那什麼時候釋放這個房子就是個關鍵 當這個房子無人使用的時候就是釋放...
OC物件記憶體管理
objective c物件記憶體管理 1,管理範圍 任何繼承了nsobject的物件,基本資料型別 int,char,float,double,struct,enum等 是不需要管理記憶體的。2,引用計數器 每個oc物件都有自己的引用計數器,是乙個整數,表示 物件被引用的次數 既有多少人正在使用這個...
OC物件記憶體管理
nsobject a nsobject alloc init 這時候在堆中分配一塊記憶體,並在棧中建立變數a指標,並將在堆中分配的記憶體起始位址賦值給這個指標a 這樣棧中的指標a就指向了堆中的物件。通過a可以訪問堆中物件。ios物件在arc下是編譯器做記憶體管理,在適當的地方插入relase 當自動...