我对 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
只有在定义属性之后才可用,这让我认为它是正确的选择。但我不明白为什么。我什至需要属性来访问这些方法吗?
另外,如果我使用点语法来获取或设置与对象有关的信息,即使我没有直接访问其实例方法之一,我是否必须为该对象定义属性?