gpt4 book ai didi

iphone - EXEC_BAD_ACCESS 当我尝试释放分配有地址的 NSString 时

转载 作者:行者123 更新时间:2023-11-28 20:44:37 26 4
gpt4 key购买 nike

我有一个试图释放的 NSString。

问题是,在某些情况下,当我尝试释放它时,我得到 EXC_BAD_ACCESS。 NSString 有一个分配给它的地址(我可以在底部页面看到它在 0xABCDEF 分配了内存)。

当有东西存在时如何在释放时避免这个问题?

最佳答案

你可以释放一个对象,但是指向它的指针仍然可以有值。只是它是一个垃圾值(即 dangling pointer )。

这就是为什么您会看到很多代码,例如:

[myObject release];
myObject nil;

首先释放对象,然后将指针设置为nil。这样,发送给它的任何消息都将无提示地失败(因为在 Objective-C 中将消息发送到 nil 对象是安全的)而不是崩溃,就像您的应用程序正在发生的那样。

由于您正在检查指针,我怀疑您在内存管理方面做了一些奇怪的事情。不。只需关注 Memory Management Rules并且只释放你拥有的对象。

关于iphone - EXEC_BAD_ACCESS 当我尝试释放分配有地址的 NSString 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6924695/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com