使视图模型中的变量可写而不是只获取 - Swift
Making a Variable in View Model Writtable Instead of Get-Only - Swift
我想做的是通过 if else 语句向我的视图模型中的空数组变量添加一个插入。但是,当我尝试添加插图时,我收到一条错误消息,指出我的视图模型数组变量是只获取 属性.
我的问题是如何使我的变量成为读写格式以便我可以向其中添加插入内容?谢谢!
// 视图模型变量
var selectedTimesOfDay: [String] {
return jobService.selectedTimesOfDay
}
// 我的函数
@objc func handleContinue() {
guard let jobService = jobService else { return }
let viewModel = JobServiceViewModel(jobService: jobService)
if morningButton.isSelected {
viewModel.selectedTimesOfDay.insert("Morning", at: 0)
}
}
我不得不将我的视图模型变量放在 setter 和 getter 中,以便它可以写入。然后在初始化程序中设置一个空数组,这样我就可以在我的控制器中添加一个插入。
// 查看模型
var _selectedTimesOfDay: [String]
var selectTimesOfDay: [String] {
set {
_selectedTimesOfDay = newValue
}
get {
return _selectedTimesOfDay
}
}
init(jobService: JobService) {
self.jobService = jobService
self._selectedDate = ""
self._selectedTimesOfDay = []
}
我想做的是通过 if else 语句向我的视图模型中的空数组变量添加一个插入。但是,当我尝试添加插图时,我收到一条错误消息,指出我的视图模型数组变量是只获取 属性.
我的问题是如何使我的变量成为读写格式以便我可以向其中添加插入内容?谢谢!
// 视图模型变量
var selectedTimesOfDay: [String] {
return jobService.selectedTimesOfDay
}
// 我的函数
@objc func handleContinue() {
guard let jobService = jobService else { return }
let viewModel = JobServiceViewModel(jobService: jobService)
if morningButton.isSelected {
viewModel.selectedTimesOfDay.insert("Morning", at: 0)
}
}
我不得不将我的视图模型变量放在 setter 和 getter 中,以便它可以写入。然后在初始化程序中设置一个空数组,这样我就可以在我的控制器中添加一个插入。
// 查看模型
var _selectedTimesOfDay: [String]
var selectTimesOfDay: [String] {
set {
_selectedTimesOfDay = newValue
}
get {
return _selectedTimesOfDay
}
}
init(jobService: JobService) {
self.jobService = jobService
self._selectedDate = ""
self._selectedTimesOfDay = []
}