小编gho*_*ron的帖子

NSString未初始化时检查"空"NSString是否崩溃

我有一个方法,当我遇到一个"空"字符串时,我想确保我做一些特别的事情.当它实际上有一个字符串,或者当我专门将它设置为"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

3
推荐指数
1
解决办法
3757
查看次数

标签 统计

objective-c ×1