最近项目中老是无缘无故的出现一下奔溃。查看一下堆栈信息,指针的指向都有,但还是奔溃。所以第一个怀疑出现野指针引起的问题。然后调试代码中的一下dealloc函数。好多对象在释放之后都没掉用。顿时吓出一身冷汗。经过一番查找。主要总结了3点
1、类中用了NSTimerh或调用了perfomSelector函数。当对象要销毁前。先要暂停NSTimer 或
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(test:) object:nil];
2、Block问题。这里复制一段代码。
3、类中用了其他了类做属性时。要用assign,而不是strong,这一点隐藏得比较深。
这个superView 是外面传进来的。相当于代理。用strong的话会造成引用计数加1.