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;
            }
  • 相关阅读:
    xutils3批量上传文件
    超详细Android面试的准备与经历分享 | 百度(offer)
    [网站公告]3月10日23:00-4:00阿里云SLB升级,会有4-8次连接闪断团队
    上周热点回顾(3.2-3.8)团队
    发布新博客皮肤red_autumnal_leaves团队
    上周热点回顾(2.23-3.1)团队
    上周热点回顾(2.16-2.22)团队
    上周热点回顾(2.2-2.8)团队
    如何禁止IE自动生成链接团队
    [云上天气预报-有时有闪电]2月3日23:00-4:00阿里云SLB升级期间网络会闪断团队
  • 原文地址:https://www.cnblogs.com/easonoutlook/p/2642011.html
Copyright © 2011-2022 走看看