我已下ARC低於3個代碼測試:的iOS:關於CF對象和目標c對象保留計數
1,readStream.retainCount = 2;
@property(nonatomic, strong) NSInputStream *readStream;
CFReadStreamRef ref = CFReadStreamCreateForHTTPRequest(kCFAllocatorDefault, request);
[self setReadStream:(__bridge NSInputStream *)(ref)];
CFRelease(ref);
2,readStream.retainCount = 3;
[self setReadStream:(__bridge NSInputStream *)(CFReadStreamCreateForHTTPRequest(kCFAllocatorDefault, request))];
3,readStream.retainCount = 3;
[self setReadStream:CFBridgingRelease(CFReadStreamCreateForHTTPRequest(kCFAllocatorDefault, request))];
我的問題是:爲什麼1不同於2 & 3?哪種用法是正確的?並且是readStream應該是強屬性?
2和3是一樣的嗎?或者它是複製粘貼錯誤? – Merlevede
「retainCount」在MRC下幾乎是無用的,甚至在ARC下也是如此。 – Kevin
@凱文是對的。從來沒有看過保留計數。只要做好內存管理。使用靜態分析器進行確認。 – matt