博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于NSString判空与移除字符串首尾空白方法的设计
阅读量:6175 次
发布时间:2019-06-21

本文共 955 字,大约阅读时间需要 3 分钟。

hot3.png

关于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

你可能感兴趣的文章
Regular Expression
查看>>
你到了第几层?图片式标题、按钮与隐藏文本
查看>>
大话重构连载14:我们是这样自动化测试的
查看>>
我的友情链接
查看>>
iis6 php安装 (一)
查看>>
关于,在Mysql中,外键是否会影响性能的问题???
查看>>
利用javascript设置图片等比例缩小
查看>>
dedeCMS如何给频道页添加缩略图
查看>>
CoreSeek快速安装
查看>>
Linux 网络性能调试工具Netstat
查看>>
我的友情链接
查看>>
报表下载SSH
查看>>
我的友情链接
查看>>
Raid磁盘阵列真的是100%的安全吗?raid有哪些常见的故障?
查看>>
Raid5两块硬盘离线解决方案 -阵列数据恢复案例
查看>>
IBM AIX存储层结构介绍 / 常用命令整理
查看>>
sudo用法简记
查看>>
有关宏定义的一篇文章
查看>>
Kubernetes 基本概念
查看>>
Linux命令:ssh,scp使用及免密码登录
查看>>