将 replaceSubrange 与双精度数组一起使用时出错:SwiftUI
Error using replaceSubrange with Array of Doubles: SwiftUI
import Foundation
import CoreData
import SwiftUI
struct dailyModel: Identifiable {
let id: UUID = UUID()
let amount: Double
}
class DailyListModel: ObservableObject {
@Published var dailys: [dailyModel] = []
init() {
getItems()
}
func getItems() {
let newDailys = [
dailyModel(amount: 0.0),
]
dailys.append(contentsOf: newDailys)
}
func addItems(amount: Double) {
let newItem = dailyModel(amount: amount)
dailys.replaceSubrange(1, with: newItem)
}
}
我在行 'daily.replacesubrange' 上收到错误,第一个 'd' 下的红线显示“实例方法 'replaceSubrange(_:with:)' 要求 'dailyModel' 符合到 'Collection'"
我应该更改 dailyModel 以也包含 Collection 还是更改我使用 replaceSubrange 的方式?
有两个个问题:
要求'dailyModel'符合'Collection'表示with
参数必须是一个集合like
with: [newItem]
第一个参数必须是一个范围(Range<Int>
),不能是单个的Int
,单个的可以写
replaceSubrange(1...1,
如果你只更换一件你也可以写
func addItem(amount: Double) {
let newItem = dailyModel(amount: amount)
dailys.remove(at: 1)
dailys.insert(newItem, at: 1)
}
import Foundation
import CoreData
import SwiftUI
struct dailyModel: Identifiable {
let id: UUID = UUID()
let amount: Double
}
class DailyListModel: ObservableObject {
@Published var dailys: [dailyModel] = []
init() {
getItems()
}
func getItems() {
let newDailys = [
dailyModel(amount: 0.0),
]
dailys.append(contentsOf: newDailys)
}
func addItems(amount: Double) {
let newItem = dailyModel(amount: amount)
dailys.replaceSubrange(1, with: newItem)
}
}
我在行 'daily.replacesubrange' 上收到错误,第一个 'd' 下的红线显示“实例方法 'replaceSubrange(_:with:)' 要求 'dailyModel' 符合到 'Collection'"
我应该更改 dailyModel 以也包含 Collection 还是更改我使用 replaceSubrange 的方式?
有两个个问题:
要求'dailyModel'符合'Collection'表示
with
参数必须是一个集合likewith: [newItem]
第一个参数必须是一个范围(
Range<Int>
),不能是单个的Int
,单个的可以写replaceSubrange(1...1,
如果你只更换一件你也可以写
func addItem(amount: Double) {
let newItem = dailyModel(amount: amount)
dailys.remove(at: 1)
dailys.insert(newItem, at: 1)
}