Playground 字符串插值

mat*_*att 6 swift swift-playground xcode14

Xcode 14,在游乐场(带有import UIKit):

let uuid = UUID().uuidString
let boundary = "Boundary-\(uuid)"
Run Code Online (Sandbox Code Playgroud)

美好的。但uuid实际上并不需要,所以让我们将其折叠成一行:

let boundary = "Boundary-\(UUID().uuidString)"
Run Code Online (Sandbox Code Playgroud)

这会引发编译错误:

错误:“UUID”仅在 iOS 6.0 或更高版本中可用;的客户'__lldb_expr_9'可能有较低的部署目标

我似乎让编译器陷入了一些关于字符串插值如何在操场上工作的奇怪边缘情况。这里可能发生了什么?