gpt4 book ai didi

objective-c - 在 Objective-C 方法中引用 BOOL 值

转载 作者:搜寻专家 更新时间:2023-10-30 20:07:03 24 4
gpt4 key购买 nike

这是代码的一小部分:

@interface
BOOL isCarryingmallet;

@implementation

-(BOOL)isCarryingWeapon {
return isCarryingMallet;
}

-(int)getWeaponDamage {
if (isCarryingMallet)
return kVikingMalletDamage;
else
return kVikingFistDamage;
}

我不明白这是怎么回事。 return isCarryingmMallet; 返回 YES 还是 NO?为什么在 if (isCarryingMallet) 中没有 == YES?为什么是 if (isCarryingMallet) 而不是 if (isCarryingWeapon)。感谢您回答我的新问题!

最佳答案

isCarryingWeapon 方法返回 isCarryingMallet 变量的值。如果还有其他可能的武器,该方法可以返回更复杂的值,例如 (isCarryingMallet || isCarryingPlasmaCannon)。基本上现在对这个类唯一重要的武器是木槌。当 isCarryingWeapon 方法被调用时,这个类对自己说,“我携带的是木槌吗?”如果是这样,它就知道它携带了武器,所以它返回真值——“是的,我有武器。”否则返回 false。

至于 if 问题 - 所有 if 语句所做的是确定括号中的值是真还是假。相等语句在 if 语句中很常见,但它们根本不是必需的。更具体地说,任何不是 0、null 或 nil 的东西都是真的。所以下面会全部执行花括号中的代码:

if (1) {...}
if (37) {...}
if (YES) {...}
if (true) {...}

boolean 变量通常以前缀 is 命名,这样就具有自然的语法意义。在你的情况下,你可以解析

if (isCarryingMallet) {...}

作为

If this guy is carrying a mallet, then...

关于objective-c - 在 Objective-C 方法中引用 BOOL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6850836/

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