我目前正在尝试实现一种方法,允许我在运行时初始化类的新实例。(例如简单地将新人添加到联系人列表中。)很多搜索最终导致我找到了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).
}
答案 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)");
}
}