一尘不染

在Swift中将元素添加到可选数组

swift

在可选数组的末尾附加元素的正确方法是什么?假设我有一个可选数组myArray,我想在末尾附加“
99”。Append()在nil数组上不起作用,因此我可以找到的唯一解决方案是以下方法,但是它看起来并不十分优雅:

var myArray = [Int]?()

if myArray?.count > 0 {
    myArray?.append(99)
} else {
    myArray = [99]
}

阅读 257

收藏
2020-07-07

共1个答案

一尘不染

您可以使用的事实,通过可选的链接调用的方法总是返回一个可选的值,即nil如果它是 不可能的 调用方法:

if (myArray?.append(99)) == nil {
    myArray = [99] 
}

如果myArray != nil则则myArray?.append(99)追加新元素并返回Void,以便不执行if块。

如果myArray == nil则不myArray?.append(99)执行任何操作并返回 nil,则执行if块并分配一个数组值。

2020-07-07