美文网首页iOS开发
OC中if-else与三目运算符的效率比较

OC中if-else与三目运算符的效率比较

作者: 悄然林静 | 来源:发表于2019-03-20 13:30 被阅读0次

    结论写在最前面:
    执行效率差别极小,甚至小于1/100000000s(亿分之一秒)。

    核心代码:

    NSString *time1 = [NSString mk_currentTimeStampInMiliseconds];
    for (int i = 0; i < 100000000; i++) {
        cell.view.playButton.hidden = [self.imgSource[indexPath.row] valueForKey:@"videoPath"].length > 1 ? NO : YES;            
    }
    NSString *time2 = [NSString mk_currentTimeStampInMiliseconds];
    for (int i = 0; i < 100000000; i++) {
        if ([self.imgSource[indexPath.row] valueForKey:@"videoPath"].length > 1) {
            cell.view.playButton.hidden = NO;
        } else {
            cell.view.playButton.hidden = YES;
        }
    }
    NSString *time3 = [NSString mk_currentTimeStampInMiliseconds];
    NSLog(@"\ntime1 = %@\ntime2 = %@\ntime3 = %@\n", time1, time2, time3);
    

    打印结果:


    执行一亿次的时间

    可以看到,同样循环执行一亿次的总时间,if-else仅比三目运算符快1s,更何况其中还有亿次级的取值、赋值操作。

    相关文章

      网友评论

        本文标题:OC中if-else与三目运算符的效率比较

        本文链接:https://www.haomeiwen.com/subject/ntrzmqtx.html