最近項目中老是無緣無故的出現一下奔潰。查看一下堆棧信息,指針的指向都有,但還是奔潰。所以第一個懷疑出現野指針引起的問題。然后調試代碼中的一下dealloc函數。好多對象在釋放之后都沒掉用。頓時嚇出一身冷汗。經過一番查找。主要總結了3點
1、類中用了NSTimerh或調用了perfomSelector函數。當對象要銷毀前。先要暫停NSTimer 或
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(test:) object:nil];
2、Block問題。這里復制一段代碼。
3、類中用了其他了類做屬性時。要用assign,而不是strong,這一點隱藏得比較深。
這個superView 是外面傳進來的。相當於代理。用strong的話會造成引用計數加1.