gpt4 book ai didi

ios - 类内的默认值

转载 作者:行者123 更新时间:2023-11-30 13:27:52 25 4
gpt4 key购买 nike

假设我有以下类(class):

class car {
var brand = ["BWM", "Ford", "Audi","Toyota"
var color = ["Red", "Blue", "White", "Black"
var speed = Double()
var weight = Double()
}

我有一个 UITableView,允许用户添加一行,并根据品牌选择一辆新车。

现在假设所有 BMW 都是红色,因此颜色设置为红色。我想我可以通过添加来实现这一点:

Init(){
If brand == "BMW"{
color = "red"}

但我也想为其他品牌设置默认值,这似乎是一个漫长的过程。有没有更简单的方法?

最佳答案

我认为你应该重新评估你的类(class)。一辆车没有多个品牌,因此您的 brand 属性应该是一个枚举,您的颜色也应该是一个枚举。

一旦定义了 Car 类,BMW 就是 Car 的子类,您可以在其中重写初始化行为:

enum CarBrand {
case BMW
case Ford
case Audi
case Toyota
}

enum CarColor {
case Red
case Blue
case White
case Black
}

class Car {
var brand: CarBrand
var color: CarColor
var weight: Double
var maxSpeed: Double

init(brand: CarBrand, color: CarColor, weight: Double, maxSpeed: Double) {
self.brand = brand
self.color = color
self.weight = weight
self.maxSpeed = maxSpeed
}
}

class BMWCar : Car {
init(weight: Double, maxSpeed: Double) {
super.init(brand: .BMW, color: .Red, weight: weight, maxSpeed: maxSpeed)
}


let aCar = Car(brand: .Audi, color: .Blue, weight: 1760, maxSpeed: 200)

let aBMWCar = BMWCar(weight: 1800, maxSpeed: 220)

严格来说 Car 应该是一个抽象类,但 Swift 不直接支持这一点。

关于ios - 类内的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36927078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com