在目标C中,什么是测试对象是否在内存中的好方法?
我一直在使用这样的代码:
if(myObject){
[myObject stop];
}
但是,尽管如此,我仍然EXC_BAD_ACCESS
在运行stop消息的行上不断出错myObject
。
有人可以建议一种更好的测试方法,以测试是否myObject
仍然存在并且能够接收消息吗?
myObject
现在指向垃圾,因此将向其发送消息,并且该应用将崩溃,因为它不再是您认为的对象。
如果要检查它是否可以接收特定消息,可以使用:
if ( [myObject respondsToSelector:@selector(mySelector)] ){ ....
或将其正确设置为nil并使用以下方法检查指针是否仍指向其他对象:
if ( myObject ){ ... //If myObject is not nil
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句