retainCount in blocks show extrange behavior
问题 I got the this code in a class: - (void)cancel { if (_cancelBlock) _cancelBlock(); } - (void)overrideCancelWithBlock:(void(^)(void))cancelBlock { [_cancelBlock release]; NSLog(@"AsyncOperation-overrideCancelWithBlock-[cancelBlock retainCount]=%lu (before)", [cancelBlock retainCount]); _cancelBlock = [[cancelBlock copy] retain]; NSLog(@"AsyncOperation-overrideCancelWithBlock-[_cancelBlock retainCount]=%lu (after)", [_cancelBlock retainCount]); } - (void)dealloc { NSLog(@"AsyncOperation-dealloc