4
當我有這行代碼爲__weak代替:不使用ARC
__weak NSBlockOperation *weakOperation = operation;
其觸發此編譯器錯誤:
__weak attribute cannot be specified on automatic variable.
原因是我沒有啓用ARC(尚未準備好進行切換)。因此,從另一個StackOverflow上的問題,我建議使用:
__unsafe_unretained NSBlockOperation *weakOperation = operation;
這使得錯誤消失,但我使用它的背景下,它不工作(見這個問題,如果有興趣:How to cancel NSOperationQueue)。
所以我的問題是,在這種情況下,我可以用__weak
關鍵字替代掉這個警告嗎?當我使用__weak
時,所有的東西都能正常工作,但我擔心它不能支撐未來版本的iOS。