很多代码规范上都写不能用BOOL值直接和YES/NO进行比较,比如
BOOL a=YES;
if (a == NO) // 禁止
{
// do something
}
else
{
// do something
}
这样就是不对的
原因是BOOL实际上是一个unsigned int,不仅能取值YES和NO
但是不能这样写不就损失了代码的可读性么?
另外,和YES不比较删掉就可以了,但是如果只需要判断NO,还需要这样写么?
if (a)
{
// do nothing
}
else
{
// do something
}
或者
if (!a)
{
// do something
}
想问问大家是怎么处理这个问题的?
BOOL a=YES;
if (a == NO) // 禁止
{
// do something
}
else
{
// do something
}
这样就是不对的
原因是BOOL实际上是一个unsigned int,不仅能取值YES和NO
但是不能这样写不就损失了代码的可读性么?
另外,和YES不比较删掉就可以了,但是如果只需要判断NO,还需要这样写么?
if (a)
{
// do nothing
}
else
{
// do something
}
或者
if (!a)
{
// do something
}
想问问大家是怎么处理这个问题的?