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;
            }
  • 相关阅读:
    ArcGIS几种数据格式
    C#中的接口
    OpenFileDialog获取文件名和文件路径问题
    OO与设计模式的原则、目标
    设计模式-工厂模式三部曲
    .NET设计模式: 工厂模式
    最详细eclipse汉化插件安装教程
    Eclipse IDE for C/C++ Developers安装配置详解
    使用 Eclipse C/C++ Development Toolkit 开发应用程序
    VS开发好用的扩展
  • 原文地址:https://www.cnblogs.com/easonoutlook/p/2642011.html
Copyright © 2011-2022 走看看