[問題] 在dealloc中將delegate釋放

看板MacDev作者 (尼澳鐵特)時間12年前 (2013/09/11 11:09), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
剛剛終於抓到一個困擾很久的bug, 隨機出現... 在一個有UITableView的畫面切換到另一個畫面再迅速地切回來就會crash 一直以來都沒有開Zombie來測, Zombie一開馬上就抓到 UITableView datasource的 cellForRowAtIndexPath: sent to unrecognized instance 這個method在tableView被release之後調用了, 然後就crash了 上網爬了一下文, 在 - (void)dealloc 中把tableView的delegate跟dataSource指向nil 就解決了 我是想請問, 為了確保不發生這種delegate/datasource在物件被釋放後還被call的情況 我是否該在有使用到的delegate/datasource的地方都做這個動作呢? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.34.110.106

09/11 12:52, , 1F
找個View它Block在同一個畫面下,直到delegate回來才將它
09/11 12:52, 1F

09/11 12:53, , 2F
消失
09/11 12:53, 2F
文章代碼(AID): #1IBzy5cn (MacDev)
文章代碼(AID): #1IBzy5cn (MacDev)