gpt4 book ai didi

objective-c - 释放后将指针设置为零?

转载 作者:太空狗 更新时间:2023-10-30 03:17:46 27 4
gpt4 key购买 nike

释放对象后最好将指针设置为零吗?这就是我一直在做的,只是想问问它是否有必要,好的做法还是矫枉过正?

- (void)dealloc{
[planetName release]; // NSString instance variable
[super dealloc];
}
@end

.

- (void)dealloc{
[planetName release]; // NSString instance variable
planetName = nil;
[super dealloc];
}
@end

干杯-加里-

最佳答案

取决于保存指针的变量的范围。如果它们继续存在于范围内,我总是将指针设置为 nil,以防万一我在其他地方再次调用该变量。否则,存在访问包含现在已释放对象的内存位置的风险。

但是如果变量超出范围,那么它也不会被使用,因此将 nil 分配给它有点矫枉过正。尽管如此,最好只分配 nil 以防万一其他人决定向您的代码中添加代码并意外地在其范围内再次使用该变量但在它被释放之后。

关于objective-c - 释放后将指针设置为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1418999/

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