美文网首页
Swift ?? 运算符不支持类型不匹配解决方案

Swift ?? 运算符不支持类型不匹配解决方案

作者: peter猪 | 来源:发表于2019-12-04 15:23 被阅读0次

Swift 的 ?? 运算符不支持这种类型不匹配的操作,确实,它无法决定当表达式两侧不共享同样的基础类型时,到底应该使用哪一个类型。不过,只是为了在字符串插值中使用可选值这一特殊目的的话,添加一个我们自己的运算符也很简单。让我们把它叫做 ???:

```

infix operator ???: NilCoalescingPrecedence

public func ???<T>(optional: T?, defaultValue: @autoclosure () -> String) -> String {

switch optional {

case let value?: return String(describing: value)

case nil: return defaultValue()

}

}

```

相关文章

网友评论

      本文标题:Swift ?? 运算符不支持类型不匹配解决方案

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