objective-c – Getter和Setter解释?

前端之家收集整理的这篇文章主要介绍了objective-c – Getter和Setter解释?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我只是从我读过的一本书(Big Nerd Ranch)学习OOP,它只是通过了getter和setter章节.我想澄清一点,我明白我刚刚做了什么.我创建了使用@property和@synthesize语法来定义这两种方法,而不是创建一个设置实例值的方法,然后是另一个提取值显示它的方法.

而不是这样做:

-(void) setHeightOfObject:(int)h;
-(void) setWeightOfObject:(float)w;
-(int) heightOfObject;
-(float) weightOfObject;

并像这样定义它:

- (int)heightOfObject
{
    return heightOfObject;
}

- (void)setHeightOfObject:(int)h
{
    heightInMeters = h;
}

- (float)weightOfObject
{
    return weightOfObject;
}

- (void)setWeightOfObject:(float)w
{
    weightOfObject = w;
}

我会在.h文件中使用getter和setter来执行此操作:

@property int heightOfObject;
@property float weightOfObject;

然后转到我的.m文件链接它:

@synthesize heightInMeters,weightOfObject;

这使我能够设置我的对象的值,然后如果我需要它打印它得到它?我知道这是一个重要的概念,我想确保我对它有适当的把握.

解决方法

你是对的. @synthesize必需扩展到编译时编写的实现.

由于编写getter和setter是无聊和重复的(并且大多数对象都有一堆属性,你需要getter和setter),这个小小的快捷方式可以让你花费更少的时间在boilerplate code上,更多时间实现一些有趣的东西.

如果您想了解有关objective-c属性的更多详细信息,可以查看programming guide(尽管此时可能有点不必要的详细信息).

猜你在找的Xcode相关文章