程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> xcode- 為什麼在Xcode 6裡強引用循環沒有Graph顯示

xcode- 為什麼在Xcode 6裡強引用循環沒有Graph顯示

編輯:編程綜合問答
為什麼在Xcode 6裡強引用循環沒有Graph顯示

我想在Xcode 6裡測試Retain Cycle,使用Xcode的Leaks Instrument去觀察內存洩漏情況

1.我寫了2個類,TTChild和TTParent,頭文件如下

@interface TTParent : NSObject

@property (nonatomic,strong) NSMutableArray *children;

@end

@interface TTChild : NSObject

@property (nonatomic,strong) TTParent *parent;

@end

2.然後在一個按鈕的動作方法裡寫了,如下代碼,

  • (IBAction)ClickMe:(id)sender {

    TTParent *parent = [[TTParent alloc] init];
    parent.children = [[NSMutableArray alloc] init];
    for (int i = 0; i < 1000; i++) {
    TTChild *child = [[TTChild alloc] init];
    child.parent = parent;
    [parent.children addObject:child];
    }
    }

3.用Instruments依次選擇Leaks-> Cycles&Roots->Leaks cycle,點擊多次按鈕,
出現紅色的內存洩露標志,但在Graph裡什麼都沒有顯示,上面的代碼不是應該有
強引用循環嗎,Graph應該有顯示啊,為什麼沒有呢,有人知道這是什麼原因嗎,
誰能解釋一下?

最佳回答:


是循環引用,但Instrument不一定顯示

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved