在可选数组的末尾附加元素的正确方法是什么?假设我有一个可选数组myArray,我想在末尾附加“ 99”。Append()在nil数组上不起作用,因此我可以找到的唯一解决方案是以下方法,但是它看起来并不十分优雅:
var myArray = [Int]?() if myArray?.count > 0 { myArray?.append(99) } else { myArray = [99] }
您可以使用的事实,通过可选的链接调用的方法总是返回一个可选的值,即nil如果它是 不可能的 调用方法:
nil
if (myArray?.append(99)) == nil { myArray = [99] }
如果myArray != nil则则myArray?.append(99)追加新元素并返回Void,以便不执行if块。
myArray != nil
myArray?.append(99)
Void
如果myArray == nil则不myArray?.append(99)执行任何操作并返回 nil,则执行if块并分配一个数组值。
myArray == nil