gpt4 book ai didi

ios - 开关盒上的 NSString

转载 作者:行者123 更新时间:2023-11-28 20:26:27 25 4
gpt4 key购买 nike

而不是像这样使用 else

            if([screen isEqualToString :@"A"]){

}
else if(screen isEqualToString:@"B"){

}

会这样吗

          switch ([string isEqualToString:screen]){
case ISA:
break;

case ISB:
break;

default:
break;
}

ISA 和 ISB 的定义如下

       #define ISA [screen isEqualToString:A] and **will it be efficient**

最佳答案

不,我绝对不这么认为。 switch/case 都是关于数字 if/then/else 的情况。

但是您可以执行以下操作:

编写一个函数并向其传递可变数量的参数(因为 objective-c 实现了 C 查找 va_args 的语法)。将原始字符串和要比较的字符串传递给它。

在该函数内,使用“for”循环,逐个比较字符串,直到到达末尾或根据您的条件找到匹配项。

一旦满足,返回索引。您可以在 switch case 中使用该索引。一个小例子:

switch([self compareStrings:@"FirstString" Options:"@FirstString", @"SecondString"]) {
case 0: //FirstString
break;

case 1: //SecondString
break;

default: //Not found
break;
}

那应该行得通。关于您的功能:请务必合并一个 Optioncount,或者使选项“nil”终止,否则该功能将不知道何时实际到达终点。

关于ios - 开关盒上的 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13758457/

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