gpt4 book ai didi

objective-c - 我应该将 @property (retain) 用于保留的 @dynamic 属性 setter 吗?

转载 作者:行者123 更新时间:2023-12-04 06:44:49 24 4
gpt4 key购买 nike

对于我使用@dynamic 关键字手动编写的 getter/setter 属性,我有以下代码:

@property (nonatomic, retain) NSObject* obj;

@dynamic obj;
-(NSObject*) obj
{
return obj;
}
-(void) setObj:(NSObject*)newObj
{
[obj release];
obj = [newObj retain];
}

我的问题是,如果我从 @property 声明中删除保留,编译器会提示默认值将被赋值,并且它可能不是我想要的。如果我添加了保留,我认为它会被忽略,因为我自己编写了 getter/setter?

只是想快速确认一下。

最佳答案

你是对的,但是你的属性声明对于文档和实现来说都是一样的,至少在这种情况下是这样。在某个时候,有人(六个月后的你?)会查看你的 .h 文件并说,“为什么不保留这个值?它如何不会在每次运行时崩溃或像筛子一样泄漏内存?”

关于objective-c - 我应该将 @property (retain) 用于保留的 @dynamic 属性 setter 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3866841/

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