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

标签 objective-c properties retain

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

@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/

相关文章:

ios - UIAlertController 未从 AppDelegate 显示

iphone - 从iPhone上的URL加载图像

objective-c - 如何将参数传递给选择器?

c# - "proxy properties"是好样式吗?

objective-c - 错误 : "Unrecognized selector" when using addObjects: on an NSMutableArray

使用我的界面时,WPF 依赖属性在 GUI 中崩溃

ios - 在更新和同步到iCloud时将程序数据保留在iOS应用中

iphone - 如何在 mfmailcomposerview 中关闭键盘

reference - [NSStream scheduleInRunLoop : forMode:] retain the NSStream? 是否

objective-c - UIImage :resizableImageWithCapInsets 创建的崩溃释放图像