21

NSString天気 aが null かどうかを確認したい。JSON配列から割り当てています。その文字列値を割り当てた後は<null>. 今、この文字列が null かどうかを確認したいと思います。だから私はこのように置きます

if (myStringAuthID==nil)しかし、この if ステートメントは常に false です。文字列の null をチェックする方法。私を助けてください

ありがとう

4

5 に答える 5

69

そのように:

[myString isEqual: [NSNull null]];
于 2013-10-23T16:16:14.560 に答える
1

以下は、私が作成した文字列カテゴリの一部です。

@interface NSString (Enhancements)

+(BOOL)isNullOrEmpty:(NSString *)inString;

@end

@implementation NSString (Enhancements)

+(BOOL)isNullOrEmpty:(NSString *)inString
{
    BOOL retVal = YES;

    if( inString != nil )
    {
        if( [inString isKindOfClass:[NSString class]] )
        {
            retVal = inString.length == 0;
        }    
        else
        {
            NSLog(@"isNullOrEmpty, value not a string");
        }
    }
    return retVal;
}

@end
于 2013-10-23T17:12:47.567 に答える
1

NSStringなどにキャストする前に確認するのが最善だと思います。さまざまなオプションがあります。上記は正しいですが、私はこれを好みます:

id NilOrValue(id aValue) {
  if ((NSNull *)aValue == [NSNull null]) {
    return nil;
  }
  else {
    return aValue;
  }
}

値をポインターに渡す前にこのスニペット (C 関数であることに注意してください) を使用すると、NSNull の値の場合は値または nil を安全に渡すことができます。nil オブジェクトにメッセージを送信しても、例外がスローされないため、nil を渡すことは素晴らしいことです。でクラス タイプを確認することもできます-isKindOfClass

于 2013-10-23T16:24:15.637 に答える