【发布时间】:2011-11-09 02:25:37
【问题描述】:
我有一个使用自动引用计数的类。在课堂上,我有一个如下所述的属性。当我为班级设置提醒时,我希望改变按钮标题的副作用发生。
这是我的代码:
在.h文件中:
@property(nonatomic,strong)Reminder* reminder;
在 .m 文件中: @synthesize 提醒;
-(void)setReminder:(Reminder *)reminder_
{
//what else do I need to do here?
reminder = reminder_;
if(!reminder.useSound.boolValue)
{
onOffButton.title = NSLocalizedString(@"Off", @"Off title");
}else
{
onOffButton.title = NSLocalizedString(@"On", @"On title");
}
}
我知道如果没有 ARC,我会做这样的事情:
-(void)setReminder:(Reminder *)reminder_
{
[reminder release];
reminder = [reminder_ retain];
if(!reminder.useSound.boolValue)
{
onOffButton.title = NSLocalizedString(@"Off", @"Off title");
}else
{
onOffButton.title = NSLocalizedString(@"On", @"On title");
}
}
我是否需要在启用 ARC 的 setter 方法中执行任何其他操作以确保正确保留强变量?
【问题讨论】:
标签: objective-c ios memory-management ios5 automatic-ref-counting