关于NSString判空与移除字符串首尾空白方法的设计

关于NSString判空与移除字符串首尾空白方法的设计

背景
时常会遇到NSString实例对象需要判空以及删除首尾空白字符的需求。
发现许多工程师因不恰当的处理以上两种需求,引发了APP崩溃问题。
原因可能来源如下:
1. 不太理解,什么叫空字符串。
2. 不恰当的删除字符串首尾空白。
3. 不恰当的返回删除字符串首尾空白之后的值。
判空设计
什么是空字符串?
内容为空的字符串即length==0的字符串或者任何其他非NSString类型的变量。
考虑到,对nil发送消息将不会有任何响应,返回值仍然为0((id)0)。
因此,从以上方面来看NSString Category应该添加如下这样的判空方法。
+(BOOL)isEmptyString:(NSString *)string{
	if(string &&
   	[string isKindOfClass:[NSString class]] &&
   	string.length>0){

    		return NO;
    		
   }else{
    	
    		return YES;
    	}
	}
删除字符串首尾空白设计
不恰当的删除字符串首尾空白。
不恰当的返回删除字符串首尾空白之后的值。
因此,从以上方面来看NSString Category应该添加如下方法。
+(NSString *)stringByTrimmingBothEndWhiteSpace:(NSString *)string{
	if([NSString isEmptyString:string]){
	//最好不要使用nil,因为这改变了类型,会引起bug。
	//此处采用NSString初始化返回值(一个空字符串),相当于类型转换(将可能的任何其他类型转换为字符串类型)。
		return [[NSString alloc] init];
    
   }else{
   
   	return [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
		}
	}

转载于:https://my.oschina.net/treebug/blog/1560147

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值