Objective-C で大文字・小文字の判別

NSString には upperCaseStringlowercaseString というメソッドがあり、文字列をそれぞれ大文字・小文字に変換することができます。
では文字列が大文字か小文字かを判別するにはどうすればいいのか気になり調べてみたところ、C の標準ライブラリ関数に isupper()islower() というものがあるのを見つけました。

こんなふうに使います。

NSString *string = @"Hoge";
unichar c = [string characterAtIndex:0]; // 先頭文字を取り出す

if (isupper(c)) {
    // Upper case
} else {
    // Lower case
}

大文字と小文字の判別ができると、例えばキャメルケース(HogePiyo)をスネークケース(hoge_piyo)に変換するといったことができますね。

まあ実際使うことはなさそうですが、頭の片隅に留めておきましょうというメモでした。