Swift 5/Xcode 12.4.
我知道如何初始化一个空数组:
var myarray = [String]()
我知道如何初始化可选String:
var mystring:String? = ""
如何创建一个空的,可选的数组并初始化它?我不希望内容是可选的,而是数组本身,所以我可以将其设置为/check it fornil
。
这个答案建议使用var myArray = [String]?()
,但这只是显示了"在调用初始化器时没有精确匹配";操场错误。
var myarray:[String]? = ()
还显示错误("不能将类型'()'的值转换为指定类型'[String]?'")。
如果你真的想这么做:
var myArray: [String]? = []
数组字面值用[]
表示。不是()
。()
是一个空元组
然而,正如人们在评论中提到的,这是一个反模式。如果一个"空数组";和";nil"不要在你的代码中表示不同的东西,然后使用常规的[String]
,并使用一个空数组来表示&;nothing&;
同样从评论,你似乎试图写Swift代码的方式,你写你的Java代码。我建议你不要那样做。入乡随俗:)