ios 中的非空判断

程序员在开发过程中经常需要判断字符串(一般为UITextField、UITextView之类和接收后台返回的json字符串)是否为空。

很多人会直接if([yourTextField.textisEqualToString:@""] || yourTextField.text== nil])

这样进行字符串的判断,然而很遗憾,这样的判断往往经常会出现失败的情况,造成很多莫名其妙的bug。

所以我一般都将非空判断放到自己建的工具类中,调用工具类中方法实现判断。

字符串的非空判断

在.h中声明


/**

*  判断字符串是否为空

*

*  @param string 传入要判断的字符串

*

*  @return 返回的bool值为YES则为空

*/


+ (BOOL)isBlankString:(id)string;

在.m中实现

+ (BOOL)isBlankString:(id)string1{

 if ([string1 isKindOfClass:[NSNull class]]) { 

 return YES; 

 } 

 NSString * string = [NSString stringWithFormat:@"%@",string1];

 return  string == nil || string==(id)[NSNull null] || [string isEqualToString: @""] || string.length == 0||[[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] length]==0 || [string isEqualToString:@"(null)" ] || [string isEqualToString:@"null"]||[string isEqualToString:@""];

}


这样就可以在项目中任何地方调用。类似于

if ([UtilTools isBlankString:_phoneNumTF.text])

{

[MessageAlertView showErrorMessage:@"手机号码不能为空"];

}else if ([UtilTools isBlankString:_VerifyTF.text])

{

[MessageAlertView showErrorMessage:@"请输入验证码"];

}


数组的非空判断


/**

*  判断数组是否为空

*

*  @param array 传入要判断的数组

*

*  @return 返回的bool值为YES则为空

*/

+ (BOOL)isBlankArray:(NSArray *)array;


+ (BOOL)isBlankArray:(NSArray *)array

{

if (array == NULL || array == nil || [array isKindOfClass:[NSNull class]] || array.count == 0)

{

return YES;

}

return NO;

}



字典的非空判断

/**

*  判断字典是否为空

*

*  @param array 传入要判断的字典

*

*  @return 返回的bool值为YES则为空

*/

+(BOOL)isBlankDictionary:(NSDictionary *)dictionary;


+(BOOL)isBlankDictionary:(NSDictionary *)dictionary

{

if (dictionary == nil || [dictionary isKindOfClass:[NSNull class]] || dictionary.count == 0)

{

return YES;

}

return NO;

}


对象的非空判断

/**

*  判断对象是否为空

*  PS:nil、NSNil、@""、@0 以上4种返回YES

*

*  @return YES 为空  NO 为实例对象

*/

+ (BOOL)dx_isNullOrNilWithObject:(id)object;



+ (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;

}


你可能感兴趣的:(ios 中的非空判断)