将 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 的方式?

两个个问题:

  1. 要求'dailyModel'符合'Collection'表示with参数必须是一个集合like

    with: [newItem]
    
  2. 第一个参数必须是一个范围(Range<Int>),不能是单个的Int,单个的可以写

    replaceSubrange(1...1, 
    

如果你只更换一件你也可以写

func addItem(amount: Double) {
    let newItem = dailyModel(amount: amount)
    dailys.remove(at: 1)
    dailys.insert(newItem, at: 1)
}