Swift判断是否是空的字符串

代码中会经常对字符串做是否为空的判断,OC中一般定义一个宏定义,直接调用就可以了:

#define DYNSStringIsEmpty(str) ((str==nil)||[str isEqualToString:@"(null)"]||([str length]==0)||[str isEqualToString:@""])

Swift 中如何处理呢,因为Swift对变量的类型要求的比较严格,经常会提示各种警告,经过个反复的尝试,写成了下面的这个样子。

//value 是AnyObject类型是因为有可能所传的值不是String类型,有可能是其他任意的类型。
func DYStringIsEmpty(value: AnyObject?) -> Bool {
    //首先判断是否为nil
    if (nil == value) {
        //对象是nil,直接认为是空串
        return true
    }else{
        //然后是否可以转化为String
        if let myValue  = value as? String{
            //然后对String做判断
            return myValue == "" || myValue == "(null)" || 0 == myValue.count
        }else{
            //字符串都不是,直接认为是空串
            return true
        }
    }
}

调用的时候有点怪异,需要把传的值先转化为AnyObject,不然会报一些类型的警告。

if DYStringIsEmpty(value: self.isSelected as AnyObject) {
     self.isSelected = "0"
}        

Ps:如有误导,欢迎指正...

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 引言 本文旨在帮助开发者快速从OC开发过渡到Swift开发,挑选了一些比较浅显的但是比较常用的Swift语法特性,...
    小白进城阅读 5,001评论 6 44
  • 列表:List 创建一个新的列表:name = [] #创建一个新列表name = list() #创建一个新列表...
    阿猫阿狗py阅读 345评论 0 1
  • 风 把最后一枚叶片 吹灭 秋落下帷幕 静待 冬的表演 山 光秃成 蛇皮袋 把秋的丰稔贮藏 蛇和昆虫 劳累了一夏一秋...
    秦北阅读 175评论 0 4
  • 今天是开学第一天,看着女儿满脸微笑的走进校园,心里是无比的欣慰。从内心来讲只想给女儿更多,更好的!这段时间实修一直...
    遗忘的角落_515c阅读 263评论 0 0