新来的 swift。据我了解,元组赋值运算符 '?' 元组不允许。
var optionalTuple = (String, Int)? // this isn't allowed.
Run Code Online (Sandbox Code Playgroud)
除了将元素单独分配为可选之外,还有其他解决方法吗?
(String, Int)?是一个类型,而不是一个值,所以它不能放在=.
如果您还不知道,当您声明一个变量/常量时,您可以使用以下语法指定其类型:
let/var 名称:类型
所以一个可选的元组声明看起来像这样:
var optionalTuple: (String, Int)?
Run Code Online (Sandbox Code Playgroud)
另一种方法是这样的:
var optionalTuple = (String, Int)?.none
Run Code Online (Sandbox Code Playgroud)
以上两个将具有 的值nil。您还可以将其初始化为自定义值:
var optionalTuple: (String, Int)? = ("Hello", 10)
Run Code Online (Sandbox Code Playgroud)
另一种方法是:
var optionalTuple = (String, Int)?.some(("Hello", 10))
Run Code Online (Sandbox Code Playgroud)