NO プログラム NO LIFE

ayanamiの備忘録

[Objective-C]数値判定

Objective-Cでの数値判定方法はいくつかあるみたいだけど、NSCharacterSetを利用した方法が一番しっくりきた。 @"0123456789"が、引数のスーパーセットかを判定した結果を返す。

1
2
3
4
5
+ (BOOL)isNumeric:(NSString *)text {
    NSCharacterSet *numbers = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
    NSCharacterSet *target = [NSCharacterSet characterSetWithCharactersInString:text];
    return [numbers isSupersetOfSet:target];
}

ちなみに、Javaではこんな感じ

Objective-Cは好きだけど、Javaと比べるとメソッド名が長い。。。