Arrays 如何使用实例变量访问另一个变量中的对象并返回
如何使用实例变量访问另一个变量中的对象并返回Arrays 如何使用实例变量访问另一个变量中的对象并返回,arrays,swift,Arrays,Swift,如何使用实例变量访问另一个变量中的对象并返回 class Tyre { let name: String var owner: Vehicle? init(name: String){ self.name = name } } class Vehicle { var name: String var tyres: [Tyre] = [] var stringIds = ""; var tyreNames : ()
class Tyre {
let name: String
var owner: Vehicle?
init(name: String){
self.name = name
}
}
class Vehicle {
var name: String
var tyres: [Tyre] = []
var stringIds = "";
var tyreNames : () -> String = {
// let allTyres = (tyres.map{String($0)}).joined(separator: ",")
print(tyres) // unable to acess tyres here
return ""
}
init(name: String){
self.name = name
}
func adopt(tyre: Tyre){
tyres.append(tyre)
tyre.owner = self
}
}
var myCar = Vehicle(name: "Honda")
var tyre = Tyre(name: "MRF")
myCar.adopt(tyre: tyre)
tyre = Tyre(name: "CFP")
myCar.adopt(tyre: tyre)
print(myCar.tyreNames())
无法访问车辆类别中的轮胎以打印车辆类别中具有以下特征的所有轮胎:
错误:实例成员“轮胎”不能用于类型“车辆”
而不是作为闭包声明
tyreNames
作为计算变量
var tyreNames : String {
return tyres.map{ $0.name }.joined(separator: ", ")
}
叫它
print(myCar.tyreNames)