如何在objective-c中设置布尔值

如何在objective-c中设置布尔值,objective-c,boolean,Objective C,Boolean,我试图设置布尔值,但它不允许我将其设置为真。它一直告诉我,YES被重新定义。我使用的方法是#define YES(q1)其中q1是布尔值。为什么要这样做 BOOL yourBool = YES; #define YES (q1); 它是一个预处理器宏,用于将所有出现的单词YES替换为(q1) 如果这是你真正想做的(你可能不想做), 然后使用BOOL yourBool=TRUE 但重新定义“是”真的是个坏主意。不要这样做。我认为您要查找的定义是: #define q1 YES 要验证: NS

我试图设置布尔值,但它不允许我将其设置为真。它一直告诉我,
YES
被重新定义。我使用的方法是
#define YES(q1)
其中
q1
是布尔值。

为什么要这样做

BOOL yourBool = YES;
#define YES (q1);
它是一个预处理器宏,用于将所有出现的单词YES替换为(q1) 如果这是你真正想做的(你可能不想做), 然后使用BOOL yourBool=TRUE


但重新定义“是”真的是个坏主意。不要这样做。

我认为您要查找的
定义是:

#define q1 YES
要验证:

NSLog(@"Q1 is set to %@", (q1 ? @"YES" : @"NO"));

if (q1)
{
    // Do something funky
}

我试过这样做,但当我试图更改变量的值时,它总是说“赋值使指针从整数变为不带强制转换的整数”。@user457303拿出你的
#define
语句。我做到了。要更改其值,我正在执行q1=FALSE;其中q1是我的布尔值。它仍然说“赋值使指针从整数变为整数而无需强制转换”,请密切注意人们在这里告诉您的内容。你犯了两个错误中的一个:要么q1不是这样定义的:“boolQ1;”就像它应该是的,要么你仍然使用TRUE和FALSE,这是错误的。只有这些是有效的:声明为“boolq1”或“boolq1=YES”;或“boolq1=NO;”。稍后将其更改为“q1=NO;”或“q1=YES;”或“q1=n;”,其中n是评估为“是”或“否”的东西。我将其切换为“是”和“否”,它仍然会给我相同的错误消息。@Alex多么粗鲁,你为什么不回答这个问题并对此提出友好的批评?我肯定他会听你的,我打赌他读了你的评论后,真的很想“去读书”