奇怪的EXC_BAD_ACCESS

prepostrous 发布于 2014年03月12日
无人欣赏。

如题. 我

if(obj != nil){
我在这来给obj.a = nil; 赋值的时候, EXCBADACCESS 了,Error:unrecognized selector sent to instance

},

可是obj此时的retainCount = 3 ,不为空啊。求解释~

共4条回复
尼克徐 回复于 2014年03月12日

你可以用cnlog输出一下obj看看是不是被释放了
如果obj不为空,obj.a是不是被释放了呢?也可以输出一下obj.a看看

prepostrous 回复于 2014年03月12日

1楼 @尼克徐 我if(obj != nil) 这样判断没问题,如果nslog obj.a 就crash; nslog obj的话,输出的东西不确定 有时候是一串大写英文字母,有时候是NSMallocBlock,不着边的。。

tinyfool 回复于 2014年03月12日

2楼 @prepostrous 你显然就是obj虽然不是nil,但是已经不是你原来那个对象了……仔细从这句往前一句一句找,看哪里出的问题

prepostrous 回复于 2014年03月12日

3楼 @tinyfool 恩。

登录 或者 注册