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;
            }
  • 相关阅读:
    牛客(47)求1+2+3+...+n
    牛客(48)不用加减乘除做加法
    【推荐】可编程的热键 AutoHotkey
    【Web】js 简单动画,犯了低级错误
    【分享】JDK8u241 win x64度盘下载
    【Web】开始学Web开发!
    【数组】深析 “数组名称”
    【基础向】浅析 "多(二)维数组" 的三种引用方法
    【一个小错误】通过数组指针引用数组成员
    【网络通信教程】windows 下的 socket API 编程(TCP协议)
  • 原文地址:https://www.cnblogs.com/easonoutlook/p/2642011.html
Copyright © 2011-2022 走看看