タグ

2012年12月15日のブックマーク (1件)

  • objective-C文字列の比較は==ではダメ -  

    文字列の比較。ただ単に==演算子で比較してもダメなんですね…。つまり、 NSString *hoge1 = @"piyo"; NSString *hoge2 = @"piyo"; if (hoge1 == hoge2) { // } else { //何を試してもこっちに判定。。 } ではダメ。いくら同じ文字列を比較してるつもりでもはじかれてしまう。ようやくたどり着いた解答がこちら。 NSString *hoge1 = @"piyo"; NSString *hoge2 = @"piyo"; if ([hoge1 isEqualToString:hoge2]) { //ようやくこっちに判定!! } else { // } が正解。理由は==演算子ではポインタ値の比較となるからとのことですが、もちろん通常のオブジェクトであればこれで問題ありません。ただ、文字列に限ってはダメなんだそうで。ああ、

    objective-C文字列の比較は==ではダメ -