1
- 我正在使用ARC。
- 我在用戶點擊一個UITableView單元格後顯示一個警告視圖。
- 99%的時間一切正常。
現在到了WEIRED PART解除UIAlertView時的崩潰
我有這種說法層次 -
的UITableView - >第一的UIViewController - >兒童UIViewControllerControllers
崩潰只出現後我打開一個,具體的孩子UIViewControllers。在我輸入所有其他子視圖控制器後,警報視圖很好。如果我即使輸入一次「有問題」的視圖控制器,甚至5分鐘後UIAlert視圖也會崩潰,即使我進入了所有其他視圖控制器。
我不得不再次說alertView是在根UITableView中呈現的。即使警報視圖回調方法只有NSLoging,它也會崩潰。
崩潰報告:
*** -[ReviewViewController isKindOfClass:]: message sent to deallocated instance 0x20bea8d0
而 'ReviewViewController' 是有問題的viewController。
感謝
沙尼
委託是UITable視圖控制器,我檢查了很多次。 – shannoga
@shannoga我明白這一點。這是由操作系統解除分配的UITableViewController。 UIAlertView的委託屬性無疑是一個弱引用,因此ARC將允許在不再引用該視圖控制器時取消分配。 – pdriegen
UIAlertView的代表不是一個弱引用,它是分配的。請參閱文檔。在ReviewViewController dealloc方法中將代理設置爲nil可能會解決崩潰問題。 – jbat100