Optional 与 字符串 的交互
原文: Optionals and String Interpolation
作者: Ole Begemann
译者: kemchenj
你知道这个问题吗? 你想要在 UI 上显示一个 Optional 值, 或者是在控制台打印出来, 但你不喜欢默认的 Optional 字符串的显示方式: “Optional(…)” 或者是 “nil”. 例如:var someValue: Int? = 5
print("这个值是 \(someValue)")
// "这个值是 Optional(5)"
someValue = nil
print("这个值是 \(someValue)")
// "这个值是 nil"
在字符串里插入 Optional 值会有一些不可预料的结果
Swift 3.1 会在你往字符串里插入一个 Optional 值的时候发出一个警告, 因为这个行为可能会产生意料之外的结果. 这里有 Julio Carrettoni, Harlan Haskins 和 Robert Widmann 在 Swift-Evolution 的讨论: