NSStringで小さなカテゴリを書いていましたが、このメソッドがすべての潜在的なユースケースを正確に処理できるかどうかを知りたいと思いました。
更新:明確にするために-文字エンコードなどを含む奇妙なケースを見逃していないことを確認したかったのです。
@implementation NSString (Helpers)
+(BOOL)stringIsNilOrEmpty:(NSString*)aString {
if (!aString)
return YES;
return [aString isEqualToString:@""];
}
@end
使用例:
-(void) sampleUsage {
NSString *emptyString = @"";
NSString *nilString = nil;
NSAssert([NSString stringIsNilOrEmpty:nilString] == YES, @"String is nil/empty");
NSAssert([NSString stringIsNilOrEmpty:emptyString] == YES, @"String is nil/empty");
}
@end