这个方法实现中是否使用了setter方法?

时间:2015-02-06 19:37:22

标签: objective-c

查看一个实现名为bodyMassIndex的方法的代码示例。

不是直接访问类中的实例变量,而是使用访问器方法。我不确定这里是否存在setter和getter方法以及我需要提出的问题。

以下是代码:

-(float)bodyMassIndex

float h = [self heightInMeters];
return [self weightInKilos] / (h*h);

我真正想知道的是这段代码中的setter方法在哪里?我看到正在使用的getter方法,就发送给类实例的两条消息heightInMetersweightInKilos而言,但我没有看到setter方法。是不是setter方法不会用于其他方法的实现?

我已经看到了这个程序的相关main.c文件中使用的setter,所以我知道如何在间接设置值方面使用它们。 setter是否仅在类<之外使用

我真的不想复制和粘贴代码并询问它。我更愿意提问一些关于我自己写过的代码的问题,我遇到了问题,但由于我不熟悉访问方法,所以这次我没有任何选择!

1 个答案:

答案 0 :(得分:2)

这将(很可能)是只读属性的getter,因为它是计算的,并且没有引用的iVar支持。 heightInMeters和weightInKilos可能是读/写的,这只是一个小帮手,当它只是两个其他属性的产品时,没有必要跟踪它(bodyMassIndex),这样做只是邀请冲突和错误