爲什麼這個完成塊被正確地調用?爲什麼正確調用完成塊?
CompletionBlock comp = ^(BOOL enabled) {
//enabled is being correctly set
NSLog(@"result: %i", enabled);
};
@autoreleasepool {
Monitor *monitor = [[Monitor alloc]initWithCompletionBlock:comp];
monitor = nil;
}
監視器將開始的NSTimer調用完成塊10秒顯示器實例化後。
顯示器在內部引用了補償(通過@property (nonatomic) CompletionBlock compblock;
),但循環引用的組成部分似乎並不存在,因爲沒有任何引用監視器。
這是正常的行爲嗎?這是我能指望的行爲嗎?這對我來說確實沒有意義。
沒有看到Monitor類的實現,我們無法真正給你一個正確的答案。 – rmaddy