Swift语言:nil检查,如果是,则实例化新对象

ike*_*8me 9 initialization swift

有什么方法可以简化这个:

var unloadedImagesRows = [String:[Int]]()

private func addToUnloadedImagesRow(row: Int, forLocation:String!) {
    if unloadedImagesRows[forLocation] == nil {
                    unloadedImagesRows[forLocation] = [Int]()
    }
    unloadedImagesRows[forLocation]!.append(row)
}
Run Code Online (Sandbox Code Playgroud)

Swift是否有一种简单的方法可以检查nil,如果是,则创建一个新对象,所有后续使用都引用该对象?

Een*_*dje 8

您可以将其简化为一行:

private func addToUnloadedImagesRow(row: Int, forLocation:String!) {
    unloadedImagesRows[forLocation] = (unloadedImagesRows[forLocation] ?? []) + [row]
}
Run Code Online (Sandbox Code Playgroud)