gpt4 book ai didi

objective-c - 在方法内设置类属性时,是否需要释放它?

转载 作者:行者123 更新时间:2023-12-03 17:42:20 25 4
gpt4 key购买 nike

我对 Objective-C 很陌生。当我尝试在方法中设置类变量然后释放它时,我不断收到运行时错误。我意识到摆脱运行时错误的唯一方法就是不释放它。
那么如果在方法内部设置了类变量,那么临时方法变量就不需要释放?

我的代码看起来像这样:

- (void)initData{
NSMutableArray *tmpData = [[NSMutableArray alloc] init];

self.data = tmpData;

[tmpData release];
}

最佳答案

如果 data 属性是用“retain”或“copy”属性声明的,那么您得到的就是正确的。如果 data 声明时带有“assign”属性(默认),那么您所得到的将会导致崩溃。这种情况下的解决方案是对数据使用保留(或可能复制):

@property (nonatomic, retain) NSMutableArray *data;

关于objective-c - 在方法内设置类属性时,是否需要释放它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8995548/

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