在下面的代码中,我正在尝试创建一个数组,该数组使用( )recordsPlusOne
内的数组中的所有项目以及需要在其中创建的一个新记录,但是当我在recordsViewModel
recordsViewModel.records
RecordsView
recordsViewModel.records
init()
如何创建一个新数组,其中包含需要在 中创建的现有一加一记录中的所有init()
项目RecordsView
?
struct RecordsView: View {
@ObservedObject var recordsViewModel: RecordsViewModel
private var recordsPlusOne: [Record] = []
init(){
let newRecord = Record()
recordsPlusOne = recordsViewModel.records // thows error 1
recordsPlusOne.append(newRecord)
}// thows error 2
var body: some View {
// some code to display the records
}
}
在初始化之前使用的变量“self.recordsViewModel”
从初始化程序返回而不初始化所有存储的属性
如果recordsViewModel
将通过init
参数注入是可能的,例如
init(vm: RecordsViewModel) { // << here !!
let newRecord = Record()
recordsPlusOne = vm.records // << pre-use !!
recordsPlusOne.append(newRecord)
recordsViewModel = vm // << initializing !!
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句