如何将对象多次附加到数组

Khu*_*ong 8 swift

我想将所有对象追加到一行中.我有一些像这样的对象:

let abaddon = Hero(name: "abaddon")
let ember = Hero(name: "ember")
let gondar = Hero(name: "gondar")
let kael = Hero(name: "kael")
let kunkka = Hero(name: "kunkka")
let layana = Hero(name: "layana")
let lucifer = Hero(name: "lucifer")
let omni = Hero(name: "omni")
let soul = Hero(name: "soul")
let wind = Hero(name: "wind")
Run Code Online (Sandbox Code Playgroud)

英雄对象是这样的:

class Hero {

    var name: String!
    var image: UIImage? {
        return UIImage(named: "\(name)")!
    }

    required init(name: String) {
        self.name = name
    }
}
Run Code Online (Sandbox Code Playgroud)

我想把它们放到这个数组中: var heroes = [Hero]()

但我看到append每次只能放一个物体.

heroes.append(abaddon)
Run Code Online (Sandbox Code Playgroud)

如何在单行中追加多个对象,如下所示:

heroes.append([abaddon, ember, gondar])
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激,谢谢.

小智 14

如果要附加多个对象,可以将它们自己包装到数组中并使用appendContentsOf.

heroes.appendContentsOf([abaddon, ember, gondor])
Run Code Online (Sandbox Code Playgroud)


Khu*_*ong 6

我试着这样:

let heroes = ["abaddon","ember","gondar",etc].map { Hero(name: $0) } 
Run Code Online (Sandbox Code Playgroud)

所以我不需要声明所有对象