Ios 使视图模型中的变量可写而不是仅获取-Swift
我要做的是通过if-else语句向视图模型中的空数组变量添加一个insert。然而,当我尝试添加一个inset时,我得到一个错误,说我的视图模型数组变量是一个get-only属性 我的问题是如何使我的变量成为读写格式,以便向其添加插入?谢谢 //ViewModel变量Ios 使视图模型中的变量可写而不是仅获取-Swift,ios,swift,mvvm,viewmodel,Ios,Swift,Mvvm,Viewmodel,我要做的是通过if-else语句向视图模型中的空数组变量添加一个insert。然而,当我尝试添加一个inset时,我得到一个错误,说我的视图模型数组变量是一个get-only属性 我的问题是如何使我的变量成为读写格式,以便向其添加插入?谢谢 //ViewModel变量 var selectedTimesOfDay: [String] { return jobService.selectedTimesOfDay } //我的职能 @objc func handleContinue() {
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中,这样它才可以写。然后在初始值设定项中设置一个空数组,以便我可以在控制器中添加一个insert //视图模型
var _selectedTimesOfDay: [String]
var selectTimesOfDay: [String] {
set {
_selectedTimesOfDay = newValue
}
get {
return _selectedTimesOfDay
}
}
init(jobService: JobService) {
self.jobService = jobService
self._selectedDate = ""
self._selectedTimesOfDay = []
}
selectedTimesOfDay
是一个计算属性;也就是说,它只返回jobService.selectedTimesOfDay的内容。您应该在视图模型中添加一个函数,该函数可以执行模型属性所需的任何操作。因此,我应该创建一个函数来处理向jobService添加插入的操作。selectedTimesOfDay
?是的,这就是我要做的。好的,向视图模型添加函数对我来说是新的,您能给我一个示例吗?