忍者ブログ

佐崎司と愉快な仲間達

ゲーム、アニメ、CG、iOS開発など思いついたことを記事にしています。 管理人が3人いますので、記事にまとまりはないと思います。 iPhoneアプリのレビュー依頼も受け付けています。

NSOrderedSame使用時の注意点について

わか

iOSの文字列比較(caseInsensitiveCompare:)などでNSOrderedSameを使用します。
しかし以下の場合だと誤った判定になります。


NSString *filePath = nil;
if ([[filePath pathExtention] caseInsensitiveCompare:@"bmp"] == NSOrderedSame) {
    ...
}

上記ではファイル拡張子の判定を行っていますが、パスに誤ってnilが設定されている場合、
if文内の処理が実行されてしまいます。これは、NSOrderedSame自体は0(nil)なため、caseInsensitiveCompare失敗のnilと同一なため、起こります。

ちゃんとファイルパスのnil判定を行うことが重要ですね。

拍手[0回]

PR