【发布时间】:2012-05-07 18:18:07
【问题描述】:
我对 Objective-C 中属性的使用感到困惑。如果我像这样创建一个新的IBOutlet:
IBOutlet UISlider *uploadSlider;
然后为滑块定义一个属性,以便我可以使用它的 getter 和 setter:
@property (nonatomic, strong) IBOutlet UISlider *uploadSlider;
然后在实现文件中@synthesize 它,实际使用该属性的正确方法是什么?例如,如果我想改变滑块的轨迹图像,我是否调用
[uploadSlider setMaximumTrackImage:[UIImage imageNamed:@"An image"] forState:UIControlStateSelected];
或者:
[self.uploadSlider setMaximumTrackImage:[UIImage imageNamed:@"An image"] forState:UIControlStateSelected];
我前缀self的方法只有在定义了属性后才可用,这让我觉得它是正确的选择。但我不明白为什么。我什至需要属性来访问这些方法吗?
另外,如果我使用点语法来获取或设置与对象有关的信息,即使我没有直接访问其实例方法之一,我是否必须为该对象定义属性?
【问题讨论】:
-
可能重复:stackoverflow.com/questions/2032826/property-synthesizestackoverflow.com/questions/6425588/…stackoverflow.com/questions/2032826/property-synthesizestackoverflow.com/questions/806379/…stackoverflow.com/questions/6112283/question-about-synthesizestackoverflow.com/questions/1398305/objective-c-property-access
标签: iphone objective-c ios properties