//
// main.m
// 07-迴圈引用
//// created by kevin on 13-8-9.
///*
1.@class的作用:僅僅告訴編譯器,某個名稱是乙個類
@class person; // 僅僅告訴編譯器,person是乙個類
2.開發中引用乙個類的規範
1> 在.h檔案中用@class來宣告類
2> 在.m檔案中用#import來包含類的所有東西
3.兩端迴圈引用解決方案
1> 一端用retain
2> 一端用assign
*/#import #import "card.h"
#import "person.h"
int main()
/*
描述:檔名:person.h
*/#import #import "card.h"
// @class僅僅是告訴編譯器,card是乙個類
//@class card;
@inte***ce person : nsobject
@property (nonatomic, retain) card *card;
@end
/*
描述:檔名:person.m
*/#import "person.h"
#import "card.h"
@implementation person
- (void)dealloc
@end
/*
描述:檔名:card.h
*/#import @class person;
@inte***ce card : nsobject
@property (nonatomic, assign) person *person;
@end
/*
描述:檔名:card.m
*/#import "card.h"
#import "person.h"
@implementation card
- (void)dealloc
@end
迴圈引用問題
3 迴圈的retain 問題人有寵物 狗 狗有主人 人 那麼使用在使用兩個類時,再用 import相互匯入 就會有問題 需要使用 class 但是當兩個類都要引用對方的物件進入自己的類做屬性時,記憶體洩露的另一種情況。解決辦法 其中乙個先釋放 但是還有殭屍物件的問題 另乙個解決辦法是乙個用 reta...
迴圈引用問題
迴圈引用的問題這樣理解 比如在main函式中建立了兩個類的物件a和b,現在引用計數都是1。現在讓a和b互相引用 a有乙個屬性是b物件,屬性說明是retain b有乙個屬性是a物件,屬性說明是retain 現在兩個物件的引用計數都增加了1,都變成了2。現在執行 a release b release ...
ios block迴圈引用問題
ios開發中,開了arc模式,系統自動管理記憶體,如果程式中用到了block就要注意迴圈引用帶來的記憶體洩露問題了 這幾天遇到乙個問題,正常頁面dismiss的時候是要呼叫dealloc方法的,但是我的程式就是不呼叫,研究了好久終於找到了問題出在 了 起初的 如下 void getmyrelated...