Objective c 范围逻辑或?目标C
这里是初学者的问题: 如果我写的是一个If语句,我想涉及到一系列的值,特别是标记,除了使用逻辑OR之外,还有更简单的方法吗Objective c 范围逻辑或?目标C,objective-c,logical-operators,Objective C,Logical Operators,这里是初学者的问题: 如果我写的是一个If语句,我想涉及到一系列的值,特别是标记,除了使用逻辑OR之外,还有更简单的方法吗 if (tableView.tag == 1 || tableView.tag==2 || tableView.tag==3) { do something} 这看起来效率不高。if(tableView.tag>=minRange&&tableView.tagif(tableView.tag>=minRange&&tableView.tag取决于您对“更容易”的定义…对于
if (tableView.tag == 1 || tableView.tag==2 || tableView.tag==3) { do something}
这看起来效率不高。
if(tableView.tag>=minRange&&tableView.tagif(tableView.tag>=minRange&&tableView.tag取决于您对“更容易”的定义…对于少量比较而言,效率并不是一个真正的考虑因素;您可以测试单个值,或者如果这些值是连续的,则执行=
和取决于您对“更容易”的定义…对于少量比较,效率并不是一个真正的考虑因素;您可以测试单个值,或者如果这些值是连续的,则执行=
和,如果您测试的值是整型的,您可以使用带下拉功能的开关
:
if (tableView.tag >= minRange && tableView.tag <= maxRange)
{
}
switch(tableView.tag) {
case 1:
case 2:
case 3:
// do something
break;
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
// do something else
break;
}
如果要测试的值为整数类型,则可以将开关
与直通一起使用:
switch(tableView.tag) {
case 1:
case 2:
case 3:
// do something
break;
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
// do something else
break;
}
不幸的是,在
运算符中有类似于Pascal的on。很少有语言具有此功能。不幸的是,在
运算符中有类似于Pascal的on。很少有语言具有此功能。
static uint8 isADigit[] = { 0, 0, ..., 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, ... }; // 256 values, only 10 1's for position's '0' through '9'
if ( isADigit[myChar] ) // myChar is a digit
switch(tableView.tag) {
case 1:
case 2:
case 3:
// do something
break;
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
// do something else
break;
}