我正在分配一個對象,如如果我強制指向一個分配對象的指針爲零,ARC會做什麼?
A * a = [[A alloc] init];
另一點我有力地設置
一個=零;
它是否向ARC發出消息,表明該對象現在可以被釋放?
我正在分配一個對象,如如果我強制指向一個分配對象的指針爲零,ARC會做什麼?
A * a = [[A alloc] init];
另一點我有力地設置
一個=零;
它是否向ARC發出消息,表明該對象現在可以被釋放?
快速回答 - 是的。 一旦你將對象設置爲零,它會被弧殺死(大多數情況下,根據我的經驗,你可以信任ARC)
弧中的Dealloc方法將爲你創建。您不能直接進行dealloc調用。但是,如果您需要釋放實例變量以外的資源,仍然可以創建自定義的dealloc方法。在創建自定義的dealloc方法時,不要調用[super dealloc]方法。這將爲您完成,並由編譯器執行。
你可以閱讀更多關於它here
我會說你剛剛回答你自己的問題。它觸發釋放方法,如果他們保持計數爲零,則會被銷燬。 – MrBr
哦...知道了!如果其他人仍然持有該對象,它不會被釋放.. rt?謝啦! – Advaith
@Advaith如果有人「持有」該對象,它不會被釋放。 ARC不是魔術,它只是在你的代碼中爲你寫入保留/釋放消息。設置一些變量爲零是沒有什麼不尋常的。 – fzwo