Jos*_*ane 4 iphone if-statement objective-c switch-statement
我一直在想,但找不到明确的答案.我什么时候应该使用'if'或'switch'语句.什么时候比另一个更好?
例如,我可以这样做:
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
switch (buttonIndex) {
case 0:
//Stuff
break;
case 1:
//Stuff
break;
default:
break;
}
//OR
if (buttonIndex == 0) {
//Stuff
}
if (buttonIndex == 1) {
//Stuff
}
}
Run Code Online (Sandbox Code Playgroud)
希望你能提供帮助,这只是一个例子,但我确信在不同的情况下,它会有所不同.
Dan*_*ani 13
在这种情况下,这无关紧要.切换存在的原因是它比if更快.如果你编写一个长代码,if ... else if ... else if ...它的执行速度会慢于switch,因为if迭代搜索(O(n))同时switch执行基于表的查找(O(1))
我认为这是一个主观问题.答案真的取决于你.
对于我自己的代码,我喜欢使用switch语句,因为很明显发生的事情是某些条件的结果,如果条件不同,可以做其他事情.
但是如果switch case:声明下面的代码相当冗长或复杂,那么对于我自己的代码,我会做第二件事:if (buttonIndex == 0) {比特.
| 归档时间: |
|
| 查看次数: |
3524 次 |
| 最近记录: |