如何检查Objective C BOOL变量的真假[关闭]

Posted

技术标签:

【中文标题】如何检查Objective C BOOL变量的真假[关闭]【英文标题】:How to check for True or False on Objective C BOOL variable [closed] 【发布时间】:2013-05-08 04:27:47 【问题描述】:

我有一个 NSObject,其中包含几个对象,其中几个是设置为“T”或“F”的 BOOL 变量

我想知道如何在像这样的 If 语句中使用它们。

if (myNSObject.firstBOOL == T) 
    // do some stuff here

我不能这样做,我不知道为什么,我可以问它是 TRUE 还是 YES 而不是 T 我已经在其他网站上寻找答案,但很难找到类似的东西,所以希望有人能够提供一些见解。

任何帮助将不胜感激。

【问题讨论】:

为什么一定要T? T到底是什么? o,0 如果是BOOL,您将能够使用YES/TRUENO/FALSE。听起来很奇怪,也许是 NSString 设置为“T”或“F”? 【参考方案1】:

对于BOOL 变量和属性,无需与YES/NOTRUE/FALSE 进行比较。 BOOL 本身已经是一个有效的布尔表达式,它可以进入 if、三元 ? : 或循环构造而无需额外的比较。

你可以这样写:

// Use a BOOL in an if
if (myObj.boolPropertyOne) 
    // This will execute if boolPropertyOne is set to True

// Use a BOOL in a loop
while (!myObj.boolPropertyTwo) 
    // This will execute while boolPropertyTwo is set to False

// Use a BOOL in a conditional expression
int res = myObj.boolPropertyThree ? 18 : 42;

【讨论】:

好的,我认为这是正确的,但我发现我正在努力解决另一个错误。

以上是关于如何检查Objective C BOOL变量的真假[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在目标 c 中创建 BOOL 实例变量?

在 Objective C 中看不到 Swift 变量/方法

Objective c 当多个点击触摸同时作用在一个object时如何只让第一个点击起作用?

什么是bool型变量?

c++ bool

布尔包装?制作一个 `BOOL` 值的对象。 (目标-C)