gpt4 book ai didi

objective-c - Objc - 在 ivars 和实例方法上调用和设置值

转载 作者:行者123 更新时间:2023-12-01 09:30:49 24 4
gpt4 key购买 nike

我不明白我在这里可能做错了什么,因为我正在遵循一本说明书 - 关于设置调用类方法的值。我已经#imported了它,一切都应该没问题。但是 Xcode 提示:不知道“setWeightInKilos 和”setHeightInMeters 的类方法选择器。这些实例方法是在“Person”类中实现的,所以我不知道为什么会这样。

    Person *aPerson = [[Person alloc] init]; 
[Person setWeightInKilos:96];
[Person setHeightInMeters:1.8];
float bmi = [Person bodyMassIndex];

最佳答案

这些是实例 方法,而不是 方法。因此,您应该使用变量 aPerson 的名称在实例上调用它们,而不是类 Person 的名称:

Person *aPerson = [[Person alloc] init];
[aPerson setWeightInKilos:96];
[aPerson setHeightInMeters:1.8];
float bmi = [aPerson bodyMassIndex];

一般来说,所有在前面用-声明的方法都接受一个带有该类实例的变量;用 + 声明的方法采用类名。

如果 heightInMetersweightInKilos 被声明为属性,您还可以使用另一种语法:您可以编写

aPerson.weightInKilos = 96;
aPerson.heightInMeters = 1.8;

不过,这只是同一事物的不同语法;在这两种情况下都会调用 setter 方法。

关于objective-c - Objc - 在 ivars 和实例方法上调用和设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11497801/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com