gpt4 book ai didi

ios - Swift 结构改变一个变量不起作用?

转载 作者:搜寻专家 更新时间:2023-11-01 05:54:55 25 4
gpt4 key购买 nike

<分区>

即使在方法中使用 mutating func 关键字,我也无法修改我的模型类变量?

所以基本上我用一种非常简单的方式解决了我的问题我有一个类Car,它有 3 个变量 idstart型号

之后初始化一个空的 Car 模型数组然后我想显示 10 辆车,创建一个迭代 1...10 的循环范围,初始化 Car 模型类并将其附加到原始汽车阵列。

检查前 5 辆汽车的 ID 为 0,后 5 辆汽车的 ID 为 1

我想要一个过滤器,其中同一 id 的最后一辆车将启动,所以我创建了一个方法来过滤和修改 start 变量,但无法修改它。你能帮我做错什么吗?

请查看我的完整代码并将其复制粘贴到 playground。

struct Car {
var id = 0
var start = false
var modelNo: String

init(start: Bool, id: Int, model: String) {
self.start = start
self.id = id
self.modelNo = model
}

mutating func startCar(status: Bool) {
start = status
}
}

var arrCars:[Car] = [Car]()

for i in 1...10 {
let md = Car(start: false, id: i <= 5 ? 0 : 1, model: "Model\(i)")
arrCars.append(md)
}

private func filtered() {
for item in arrCars {
let filteredItems = arrCars.filter { $0.id == item.id }
if filteredItems.count > 0 {
if var lastItem = filteredItems.last {
print("Will start \(lastItem.modelNo)")
lastItem.startCar(status: true)
}
}
}

let cars = arrCars.filter { (car) -> Bool in
car.start == true
}

print(cars.count)
}

filtered()

我们将不胜感激。

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