是否有可能使用模式與三元如果運營商相匹配?如果運營商
請看下面的例子:
let someString: String? = ...
if let embedURL = embedURL {
return NSURL(string: embedURL)
} else {
return nil
}
這是冗長。我希望能夠做這樣的事情:
return let someString = someString ? NSURL(string: someString) : nil
或
return case let .Some(someString) = someString ? NSURL(string: someString) : nil
但是編譯器不接受。我知道我可以初始化器添加到NSURL
它接受可選的字符串,正常使用if
聲明甚至switch
聲明,但我想知道是否有可能與三元if
運營商做,或是否將有可能在一些點在未來。
FYI的陷阱,你可以簡單的寫'讓URL = someString.flatMap (NSURL.init)' – Cosyn
@Cosyn:你完全正確,謝謝! –