Skip to content

Instantly share code, notes, and snippets.

@danhper
Created July 19, 2013 17:35
Show Gist options
  • Save danhper/6040939 to your computer and use it in GitHub Desktop.
Save danhper/6040939 to your computer and use it in GitHub Desktop.

switch文について

Objective-C(に限りませんけど)では、条件を書く手段がいくつかある。一番よく使うのはおそらくif文。例えば

int a = 10;
if(a < 10) {
    NSLog(@"a is small");
} else {
    NSLog(@"a is big");
}

これだけで何でもできるはできるが、

if(a == 1) {
    NSLog(@"a is 1");
} else if(a == 2) {
    NSLog(@"a is 2");
} else if(a == 3) {
    NSLog(@"a is 3");
} else {
    NSLog(@"a is more than 3");
}

みたいな書き方はあんまり綺麗ではないし、実際もう1つ問題があるけれど、それについてはまた今度で。気になる人は「列挙型」(enum)について調べると良い。

それを解決するには、switch文を使うと綺麗に書ける。以上の例を書き換えると、

switch(a) {
case 1:
    NSLog(@"a is 1");
    break;
case 2:
    NSLog(@"a is 2");
    break;
case 3:
    NSLog(@"a is 3");
    break;
default:
    NSLog(@"a is more than 3");
    break;

という感じになる。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment