當視圖控制器執(zhí)行popViewControllerAnimated或dismissViewControllerAnimated方法后,dealloc函數始終未被調用時,可能是由以下幾點當中的某一點或幾點引起的:
(1)初始化某個UIView時,使用strong修飾詞修飾該view的某個屬性,導致強持有當前視圖控制器,從而造成循環(huán)引用,引起內存泄漏;
(2)ViewController中強引用代理(delegate),應該使用weak修飾詞來修飾;
(3)ViewController中使用了block,且存在循環(huán)引用。使用__weak修飾;
(4)ViewController中創(chuàng)建了定時器NSTimer,導致引用計數+1.解決方法是在viewWillDisappear中執(zhí)行[_timer invalidate]和_timer=nil.