NSString
天気 aが null かどうかを確認したい。JSON配列から割り当てています。その文字列値を割り当てた後は<null>
. 今、この文字列が null かどうかを確認したいと思います。だから私はこのように置きます
if (myStringAuthID==nil)
しかし、この if ステートメントは常に false です。文字列の null をチェックする方法。私を助けてください
ありがとう
NSString
天気 aが null かどうかを確認したい。JSON配列から割り当てています。その文字列値を割り当てた後は<null>
. 今、この文字列が null かどうかを確認したいと思います。だから私はこのように置きます
if (myStringAuthID==nil)
しかし、この if ステートメントは常に false です。文字列の null をチェックする方法。私を助けてください
ありがとう
そのように:
[myString isEqual: [NSNull null]];
以下は、私が作成した文字列カテゴリの一部です。
@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
NSStringなどにキャストする前に確認するのが最善だと思います。さまざまなオプションがあります。上記は正しいですが、私はこれを好みます:
id NilOrValue(id aValue) {
if ((NSNull *)aValue == [NSNull null]) {
return nil;
}
else {
return aValue;
}
}
値をポインターに渡す前にこのスニペット (C 関数であることに注意してください) を使用すると、NSNull の値の場合は値または nil を安全に渡すことができます。nil オブジェクトにメッセージを送信しても、例外がスローされないため、nil を渡すことは素晴らしいことです。でクラス タイプを確認することもできます-isKindOfClass
。