如何创建一个空的可选数组?

How to create an empty, optional array?

Swift5/Xcode12.4.

我知道如何初始化一个空数组:

var myarray = [String]()

我知道如何初始化可选字符串:

var mystring:String? = ""

如何创建一个空的可选数组并对其进行初始化?我不希望内容是可选的,而是数组本身,所以我可以将它设置为 to/check nil

建议使用 var myArray = [String]?() 但这只是在 playground 中显示“调用初始化程序时没有完全匹配”错误。

var myarray:[String]? = () 也显示错误(“无法将类型 '()' 的值转换为指定类型 '[String]?'”)。

如果你真的想要这样做:

var myArray: [String]? = []

数组文字用[]表示。不是 ()() 是一个空元组。

但是,正如人们在评论中提到的那样,这是一种反模式。如果“空数组”和“nil”与您的代码没有什么不同,那么只需使用常规 [String],并使用空数组来表示“无”。

另外,从评论来看,您似乎正在尝试按照编写 Java 代码的方式编写 Swift 代码。我建议你不要那样做。入乡随俗:)