NSStringの空文字判定(メモ)
今サーバと連携してて
サーバから返ってくるデータが<null>となってるときに
NSString* strを取り出して判定をしたいとして、
①: if ( str != nil){
→判定が効かなくて<null>ってまるまる表示された。
②: if ( ![str isEqualtoString:@""]{
→落ちた
③: if ( str != NULL){
→①と同じ結果
④: if ( ![str isEqualtoString:<null>]){
→落ちた
どないしたらええんや、って思ってたら、
「こんなのはいかが?」って渡されたサイトにあったものを参考に無事解決。
⑤: if ( ![str isEqual:[NSNull null]] ){
→無事思った挙動に!
/***NSNull***/
The NSNull class defines a singleton object used to represent null values in collection objects (which don’t allow nil values).
NSDictionaryやNSArrayなどにはnilが格納できないため、NSNullのインスタンス[NSNull null]を用いて無効値が表現されるようです。
[NSNull null]とnilは別物なので、nilとの比較だけ行っているとエラーが出ます。
参考:http://d.hatena.ne.jp/shoby/20110319/1300567422
今回全部この判定用いたほうがいいってことやん...
余裕があったら見直そう。。!