zoukankan      html  css  js  c++  java
  • iOS中switchcase的优化用法

    之前使用switch-case的时候一直无法使用声明语句,只能使用调用函数的语句,今天看到了高手使用

    其实也就是加一个 { } 即可。

    来自于ATMHud

    - (void)advancedHudActionForRow:(NSUInteger)row {
        [hud setBlockTouches:YES];
        switch (row) {
            case 0:
                [hud setCaption:@"This HUD will auto-hide in 2 seconds."];
                [hud show];
                [hud hideAfter:2.0];
                break;
                
            case 1:
                [hud setCaption:@"This HUD will update in 2 seconds."];
                [hud setActivity:YES];
                [hud show];
                [self performSelector:@selector(updateHud) withObject:nil afterDelay:2.0];
                break;
                
            case 2: {
                NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:.02 target:self selector:@selector(tick:) userInfo:nil repeats:YES];
                [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
                [hud setCaption:@"Performing operation..."];
                [hud setProgress:0.08];
                [hud show];
                break;
            }
                
            case 3: {
                ATMHudQueueItem *item = [[ATMHudQueueItem alloc] init];
                item.caption = @"Display #1";
                item.image = nil;
                item.accessoryPosition = ATMHudAccessoryPositionBottom;
                item.showActivity = NO;
                [hud addQueueItem:item];
                [item release];
                
                item = [[ATMHudQueueItem alloc] init];
                item.caption = @"Display #2";
                item.image = nil;
                item.accessoryPosition = ATMHudAccessoryPositionRight;
                item.showActivity = YES;
                [hud addQueueItem:item];
                [item release];
                
                item = [[ATMHudQueueItem alloc] init];
                item.caption = @"Display #3";
                item.image = [UIImage imageNamed:@"19-check"];
                item.accessoryPosition = ATMHudAccessoryPositionBottom;
                item.showActivity = NO;
                [hud addQueueItem:item];
                [item release];
                
                [hud startQueue];
                [self performSelector:@selector(showNextDisplayInQueue) withObject:nil afterDelay:2];
                break;
            }
        }
    }

    其实也就是添加了大括号

    case 2: {
                NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:.02 target:self selector:@selector(tick:) userInfo:nil repeats:YES];
                [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
                [hud setCaption:@"Performing operation..."];
                [hud setProgress:0.08];
                [hud show];
                break;
            }
  • 相关阅读:
    速达开发小组面试题分享下
    NC V6 nchome文件目录及其作用介绍
    GIL 线程池 进程池 同步 异步 阻塞 非阻塞
    线程
    守护进程进程安全
    并发
    22个所见即所得在线 Web 编辑器
    asp.net操纵Oracle存储过程
    JQuery 中each的使用方法
    JQuery实现简单的服务器轮询效果
  • 原文地址:https://www.cnblogs.com/easonoutlook/p/2642011.html
Copyright © 2011-2022 走看看