0 if-statement objective-c ios
这不是一个实际问题,但令我感到沮丧.我正在寻找一种更好的方法来纠正一个可以被接受的多个值的IF语句.
例如:
if ([[myJson objectForKey:@"pages"] intValue] == 0 || [[myJson objectForKey:@"pages"] intValue] == 3)
Run Code Online (Sandbox Code Playgroud)
有没有办法写下这样的东西:
if ([[myJson objectForKey:@"pages"] intValue] == 0 | 3)
{
}
Run Code Online (Sandbox Code Playgroud)
谢谢 !!
不,不是真的.你可以这样做:
int pages = [[myJson objectForKey:@"pages"] intValue];
if (pages == 0 || pages == 3)
Run Code Online (Sandbox Code Playgroud)
这就是我的建议.您发布的代码比我显示的代码效率更低,维护更难.
在您的代码中,您实际上在同一对象上调用了两次objectForKey和intValue方法.
此外,如果在将来的某个时刻更改键值或变量名称,则必须在2个位置进行相同的编辑,这样会更多工作并增加另一个引入新的复制/粘贴错误的机会.