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