美文网首页
Swift 中的双问号 ??

Swift 中的双问号 ??

作者: Smallwolf_JS | 来源:发表于2019-08-27 11:16 被阅读0次

    swift中有个双问号操作符(??),可以用来快速对nil进行条件判断,今天来补充下双问号的用法,对于不期望某个optional值为nil时func返回nil 或者 因为其值为nil而停止了后续业务的情况下,我们可以用"??"在optionalValue为nil时做赋值保险操作(“??”操作后返回值为非optional)
    用法:newValue = optionalValue ?? value
    optionalValue非nil时,newValue的值为optionalValue的值,若optionalValuenil时,newValue的值为value的值
    简单明了直接上例子:self.objectForKey(key)nil时,object的值为0

    func validIntValueForKey(key: String) -> Int {
    
    let object = self.objectForKey(key) ?? Int(0)
    
    //do something
    
    }
    

    例子:赋default值

    versionNameLabel.text = NSBundle.mainBundle().objectForInfoDictionaryKey(kCFBundleVersionKey as String) as? String ?? "版本号读取失败"

    例子:若为nil 赋值为String数组

    相关文章

      网友评论

          本文标题:Swift 中的双问号 ??

          本文链接:https://www.haomeiwen.com/subject/fqgsectx.html