对NString进行nil,null 的判断

来源:互联网 发布:mysql host 编辑:程序博客网 时间:2024/05/29 10:43
不要对nsstring length == 0 并不了事nsstring 为nil ,例如
nsstring *tmp =@""; 在很多网络请求的应用中 对nil进行判断是十分必要的 不然程序很容易莫名其妙的崩溃 下面附上 正确代码
+ (BOOL ) stringIsEmpty:(NSString *) aString {
    if ((NSNull *) aString == [NSNull null]) {
        return YES;
    }
  if (aString == nil) {
        return YES;
    } else if ([aString length] == 0) {
        return YES;
    } else {
        aString = [aString stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
        if ([aString length] == 0) {
            return YES;
        }
    }
    return NO;  
}


+ (BOOL ) stringIsEmpty:(NSString *) aString shouldCleanWhiteSpace:(BOOL)cleanWhileSpace {
    if ((NSNull *) aString == [NSNull null]) {
        return YES;
    }
    if (aString == nil) {
        return YES;
    } else if ([aString length] == 0) {
        return YES;
    } 
    if (cleanWhileSpace) {
        aString = [aString stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
        if ([aString length] == 0) {
            return YES;
        }
    }
   return NO;  
}

原创粉丝点击