美文网首页IOS开发IOS进阶iOS
iOS判断对象是否为空需考虑4种情况

iOS判断对象是否为空需考虑4种情况

作者: 船长_ | 来源:发表于2016-03-08 19:43 被阅读3866次

给NSObject写个分类,方便用

@interface NSObject (additions)
/**
 *  判断对象是否为空
 *  PS:nil、NSNil、@""、@0 以上4种返回YES
 *
 *  @return YES 为空  NO 为实例对象
 */
+ (BOOL)dx_isNullOrNilWithObject:(id)object;
@end
+ (BOOL)dx_isNullOrNilWithObject:(id)object;
{
    if (object == nil || [object isEqual:[NSNull null]]) {
        return YES;
    } else if ([object isKindOfClass:[NSString class]]) {
        if ([object isEqualToString:@""]) {
            return YES;
        } else {
            return NO;
        }
    } else if ([object isKindOfClass:[NSNumber class]]) {
        if ([object isEqualToNumber:@0]) {
            return YES;
        } else {
            return NO;
        }
    }
    
    return NO;
}

相关文章

网友评论

  • unhangcorn:感谢,好人一平安.
    有个地方看不懂,之前也没注意到.为什么要加下面这句判断?
    [object isEqualToNumber:@0]
    船长_:@unhangcorn 请看注释
  • 闭家锁:其实判空是两个层面的含义,一个是内容层面,一个是指针层面,内容层面包括数字是否为0,字符串是否为@""或者(null),指针层面就是nil或者NULL还有NSNull,这是我的理解。

本文标题:iOS判断对象是否为空需考虑4种情况

本文链接:https://www.haomeiwen.com/subject/xgqzkttx.html