我想在Swift中创建一个对象数组作为另一个类的属性,例如:
class person{
var livingInHouse : house
name : String
}
class house{
var personArray : [person]
}
我的约束是:
houseInstance.personArray[1].name = "Steve"
personArray
,以便在释放person
对象时释放houseInstance
个对象。
Swift中最好的方法是什么?答案 0 :(得分:0)
根据你的说法,只要他们的房子还活着,你就希望住在房子里的人“活着”,所以很明显房子必须“拥有”这些人。
你的班级然而,为了方便,人们只是保留了对房子的引用,它不拥有它(否则它会很糟糕!)
所以:
class house
{
var personArray : person[]
}
class person
{
unowned var livingInHouse : house
name : String
}
然后,您可以为您的房子提供一些便利方法,例如:
func add(Person p)
{
personArray += p;
p.livingHouse = self;
}