可以NSString在switch声明中使用吗?
或者只是使用if/ else if?
我正在做一些Objective-C编程,它涉及解析NSXmlDocument并从结果中填充对象属性.
第一个版本看起来像这样:
if([elementName compare:@"companyName"] == 0)
[character setCorporationName:currentElementText];
else if([elementName compare:@"corporationID"] == 0)
[character setCorporationID:currentElementText];
else if([elementName compare:@"name"] == 0)
...
Run Code Online (Sandbox Code Playgroud)
但我不喜欢这种if-else-if-else模式.望着switch发言中,我看到,我只能处理ints,chars等等,而不是对象......那么有没有更好的实现模式,我不知道的?
BTW我居然想出了设置对象的属性更好的解决方案,但我想对具体知道if- elseVS switch在Objective-C模式
我有一个函数,我想在NSString和一个int参数,然后使用switch语句,以返回一个计算值,如int乘以一些常量,具体取决于提供的NSString.
显然,switch语句不适用于Objective-C中的对象.那么最快的选择是什么?是if-else语句吗?还是有更优雅的方法?
编辑
我关心性能的原因是我正在修改用户正在观看的UI元素,这是这些计算的最终结果,我不希望它感到迟钝.