Swift中的运行时初始化

时间:2016-07-11 18:14:38

标签: swift

我目前正在尝试实现一种方法,允许我在运行时初始化类的新实例。(例如简单地将新人添加到联系人列表中。)很多搜索最终导致我找到了Object Factories,但是仔细看看只是提出了论点,说明在Swift中它们是不必要的。

这里我只是尝试初始化Person的一个新实例,然后立即将所述Person附加到People数组中,该函数稍后可以绑定到用户输入。

 class Person{
     var name: String
     var age: Int
     init(name: String, age: Int){
         self.name = name
         self.age = age
     }
 }

 var People:[Person] = []

 func CreatePerson () {
   // here I would be creating an instance of Person initialized with name and age
   // People.append (just made Person).
 }

1 个答案:

答案 0 :(得分:0)

MainClass中,您创建了一个arrayOfPersons,其中将存储人员。然后在函数中将新Person附加到提供名称和年龄的数组中。记得在某处调用self.createPerson()以使其工作。我的建议是开始在viewDidLoad中进行测试。

class Person {
var name: String
var age: Int
init(name: String, age: Int){
    self.name = name
    self.age = age
}}

class MainClass { 
    var arrayOfPersons = [Person]();

    func createPerson () {
        let newPersonName = "Name and Surname";
        let newPersonAge = 18;
        let newPerson = Person(name: newPersonName, age: newPersonAge);
        self.arrayOfPersons.append(newPerson);
    }
}

要检查它是否已添加好,您可以在self.printArray();之后打印调用self.createPerson();的数组:

func printArray() {
    for person in arrayOfPersons {
        print("Person Name: \(person.name), \(person.age)");
    }
}