我有屬性:爲什麼retainCount返回2
@property(nonatomic, retain) NSMutableArray *myvar;
第一種情況:
myvar = [[NSMutableArray alloc] init];
NSLog(@retainCount: %i:", [myvar retainCount]);
輸出:
retainCount:1
第二種情況:
self.myvar = [[NSMutableArray alloc] init];
NSLog(@retainCount: %i:", [self.myvar retainCount]);
輸出:
retainCount:2
我的問題是:爲什麼在第二情況保留值是2?
[爲什麼要保留計數爲負值?](http://stackoverflow.com/questions/14601270/why-retain-count-in-negative-value)和[this](http:// stackoverflow .com/questions/12418230/why-is-the-retain-count-of-equal-to-7-8-or-10),[this this too](http://stackoverflow.com/questions)/12883616/ios-reference-counting)和[this one以及](http://stackoverflow.com/questions/14043994/ios-memory-management-clarifications)。 – 2013-02-16 16:51:01
這裏有很多關於爲什麼不使用保留計數來進行內存管理的問題。這裏有一個鏈接可以解釋它。 http://www.friday.com/bbum/2011/12/18/retaincount-is-useless/ – 2013-02-16 16:57:03