我有一个方法,当我遇到一个"空"字符串时,我想确保我做一些特别的事情.当它实际上有一个字符串,或者当我专门将它设置为"nil"或"NULL"时,它工作得很好,但是当我尝试测试未初始化的NSString时它会崩溃.我该如何处理这种情况?
例如:
-(void) WhyDoICrash
{
NSString *foo;
// Some other stuff...
// foo should be considered "empty"
if (foo == nil || foo == NULL || [foo length] == 0)
{
// whatever
}
}
Run Code Online (Sandbox Code Playgroud)
=============编辑===================
好的,上面只是一个显示问题的简单例子.我实际上正在使用NSString的类别,这意味着我得到的一些(好的,但不适用)建议无法使用.这是我的确切代码:
#pragma mark - NSString Category
@interface NSString (NullOrEmptyTesting)
+(BOOL) isNullOrEmpty: (NSString*)input;
@end
@implementation NSString (NullOrEmptyTesting)
+(BOOL) isNullOrEmpty: (NSString*)input
{
return (input == (id)[NSNull null] || input.length == 0);
}
@end
Run Code Online (Sandbox Code Playgroud) objective-c ×1