修復(fù)bug 是開發(fā)者經(jīng)常遇到并樂此不疲的一件事,尤其是看到bug現(xiàn)象就能想到哪了出問題了粥谬, 修復(fù)之后那種體驗不可言喻系馆,但是 最讓人頭痛的是 ,程序經(jīng)常崩在EXC_BADACCESS 這種喧兄, 今天我就說一下其中一個bug。
先上bug截圖:
FDAF5315-FAA1-461E-9A70-311C596B2F9F.png
是不是特別熟悉啊楚,但是這種錯誤吠冤,讓我們無章可循,不知道究竟是哪里出了問題特幔,
緊接著咨演,依照我的直覺【哈哈,裝個X蚯斯,其實是經(jīng)驗而已了】薄风, 判定可能為僵尸對象,打開xcode的僵尸對象調(diào)試
18C7D4F3-A6FD-4A3E-9BD5-85BB8CCA062B.png
再次出發(fā)崩潰拍嵌,果不其然遭赂,此時的控制臺的輸出為:
2B6DF954-C151-4E0D-B638-867349364EE8.png
至少我們已經(jīng)定位到了某個VC里面,而且錯誤原因很明明了横辆,scrollViewDidScroll:]: message sent to deallocated instance 即 過度釋放撇他,那么問題就迎刃而解了,只需要在delloc 方法里面:
-(void)dealloc{
self.TableView.delegate = nil;
[也可能是ScrollView狈蚤,看自己界面的情況而定]
}
好吧困肩,總算解決了,繼續(xù)苦逼的修復(fù)其他bug吧脆侮。