如何测试对象以查看它是否仍然可以接收消息以避免EXC_BAD_ACCESS?

吉米

在目标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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

iOS EXC_BAD_ACCESS:如何调试?

来自分类Dev

如何从EXC_BAD_ACCESS中恢复?

来自分类Dev

在非ARC环境中,如何使用NSMutableDictionary避免EXC_BAD_ACCESS?

来自分类Dev

在非ARC环境中,如何使用NSMutableDictionary避免EXC_BAD_ACCESS?

来自分类Dev

EXC_BAD_ACCESS-如何避免呢?

来自分类Dev

EXC_BAD_ACCESS为什么我的对象被释放?

来自分类Dev

调试EXC_BAD_ACCESS

来自分类Dev

NSDictionary EXC_BAD_ACCESS

来自分类Dev

AFHTTPRequestOperationManager的EXC_BAD_ACCESS

来自分类Dev

EXC_BAD_ACCESS在mergeChangesFromContextDidSaveNotification

来自分类Dev

SKTexture EXC_BAD_ACCESS

来自分类Dev

EXC_BAD_ACCESS StringWithFormat

来自分类Dev

如何使lldb忽略EXC_BAD_ACCESS异常?

来自分类Dev

如何找到EXC_BAD_ACCESS异常的地址?

来自分类Dev

EXC_BAD_ACCESS glGetShaderInfoLog-如何继续?

来自分类Dev

EXC_BAD_ACCESS 但 NSZombies 从未触发,如何调试?

来自分类Dev

单击地图图钉以查看详细信息,得到EXC_BAD_ACCESS

来自分类Dev

EXC_BAD_ACCESS on iOS 8.1 with Dictionary

来自分类Dev

GCD / NSOperationQueue EXC_BAD_ACCESS

来自分类Dev

UIAlertController EXC_BAD_ACCESS错误-Swift

来自分类Dev

指向函数头的EXC_BAD_ACCESS

来自分类Dev

生成nspredicate时EXC_BAD_ACCESS

来自分类Dev

迅速细分错误(EXC_BAD_ACCESS)

来自分类Dev

SKNode.removeFromParent()EXC_BAD_ACCESS

来自分类Dev

CGContextDrawLinearGradient导致EXC_BAD_ACCESS

来自分类Dev

CCHmac上的EXC_BAD_ACCESS

来自分类Dev

使用NativeCSS时EXC_BAD_ACCESS

来自分类Dev

在AVAssetReader中获取Exc_Bad_access

来自分类Dev

来自Apple Subthread的EXC_BAD_ACCESS