В вашем коде есть несколько ошибок.
- Дело важно. Используйте
Box
, а не box
. - Классы должны иметь инициализатор (структура должна создавать его для вас)
- Все необязательные свойства класса / структуры должны быть инициализированы, когдаэкземпляр инициализируется
Вероятно, структура будет более подходящей для вашей модели:
struct PhysUnit {
var Mean: Double = 0.0
var Sigma: Double = 0.0
}
struct Box {
var Name: String?
var Width: PhysUnit
var Depth: PhysUnit
var Height: PhysUnit
}
func setupShelves() {
var A1Box = Box(Name: "A1", Width: PhysUnit(Mean: 40, Sigma: 0.5), Depth: PhysUnit(), Height: PhysUnit())
shelves.append(A1Box)
}
Но если вы настаиваете на использовании класса, вы можете сделать это:
struct PhysUnit {
var Mean: Double = 0.0
var Sigma: Double = 0.0
}
class Box {
var Name: String?
var Width: PhysUnit
var Depth: PhysUnit
var Height: PhysUnit
init(Name: String?, Width: PhysUnit, Depth: PhysUnit, Height: PhysUnit) {
self.Name = Name
self.Width = Width
self.Depth = Depth
self.Height = Height
}
}
func setupShelves() {
var A1Box = Box(Name: "A1", Width: PhysUnit(Mean: 40, Sigma: 0.5), Depth: PhysUnit(), Height: PhysUnit())
shelves.append(A1Box)
}