展开可选 - Apple Watch 文本输入
Unwrapping Optional - Apple Watch Text Input
我想接收用户在 Apple Watch 上输入的一些文本。这是我目前所拥有的:
presentTextInputController(withSuggestions: ["Michael","David","John","Lisa","Mary","Susan","Matthew","James","Jessica","Jennifer","Amanda","Emily","Dylan","Ross","Rupert"], allowedInputMode: WKTextInputMode.plain) { (arr: [Any]?) in
playerNames.playerOne = String(describing: arr)
print(playerNames.playerOne)
}
这总是 return 是可选的,例如 Optional([Michael])
我想要它 return Michael
我四处查看了有关可选值的信息,但似乎找不到答案。
您可以试试这个代码:
let suggestions = ["Michael", "David", "John", "Lisa", "Mary", "Susan", "Matthew", "James", "Jessica", "Jennifer", "Amanda", "Emily", "Dylan", "Ross", "Rupert"]
presentTextInputController(withSuggestions: suggestions, allowedInputMode: WKTextInputMode.plain) { (arr: [Any]?) in
guard let arr = arr, let firstElement = arr.first as? String else { return }
playerNames.playerOne = firstElement
print(playerNames.playerOne)
}
以下是您可以参考的一些文档:Optional Binding, Guard Statement.
我想接收用户在 Apple Watch 上输入的一些文本。这是我目前所拥有的:
presentTextInputController(withSuggestions: ["Michael","David","John","Lisa","Mary","Susan","Matthew","James","Jessica","Jennifer","Amanda","Emily","Dylan","Ross","Rupert"], allowedInputMode: WKTextInputMode.plain) { (arr: [Any]?) in
playerNames.playerOne = String(describing: arr)
print(playerNames.playerOne)
}
这总是 return 是可选的,例如 Optional([Michael])
我想要它 return Michael
我四处查看了有关可选值的信息,但似乎找不到答案。
您可以试试这个代码:
let suggestions = ["Michael", "David", "John", "Lisa", "Mary", "Susan", "Matthew", "James", "Jessica", "Jennifer", "Amanda", "Emily", "Dylan", "Ross", "Rupert"]
presentTextInputController(withSuggestions: suggestions, allowedInputMode: WKTextInputMode.plain) { (arr: [Any]?) in
guard let arr = arr, let firstElement = arr.first as? String else { return }
playerNames.playerOne = firstElement
print(playerNames.playerOne)
}
以下是您可以参考的一些文档:Optional Binding, Guard Statement.