4thSpace
4thSpace

Reputation: 44310

Declaring type in array?

I'd like to create a class instance within an array declaration. How is that done?

Something similar to the following:

myclassA.myarray = [ClassB() {name="Cleaning", deptId=12}, ClassB() {name="Repairs", deptId=30]

Where the array type is:

class ClassB : NSObject {
  var name:String?
  var deptId:Int?
}

Upvotes: 0

Views: 30

Answers (1)

Eric Aya
Eric Aya

Reputation: 70098

Your array type would be ClassB. You also have to create an initializer for your ClassB. Example:

class ClassB: NSObject {
    var name:String?
    var deptId:Int?
    init(name: String, deptId: Int) {
        self.name = name
        self.deptId = deptId
    }
}

class ClassA {
    var myarray:[ClassB] = []
}

let myclassA = ClassA()

myclassA.myarray = [ClassB(name: "Cleaning", deptId: 12), ClassB(name: "Repairs", deptId: 30)]

Upvotes: 2

Related Questions