Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使视图模型中的变量可写而不是仅获取-Swift_Ios_Swift_Mvvm_Viewmodel - Fatal编程技术网

Ios 使视图模型中的变量可写而不是仅获取-Swift

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() {

我要做的是通过if-else语句向视图模型中的空数组变量添加一个insert。然而,当我尝试添加一个inset时,我得到一个错误,说我的视图模型数组变量是一个get-only属性

我的问题是如何使我的变量成为读写格式,以便向其添加插入?谢谢

//ViewModel变量

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
?是的,这就是我要做的。好的,向视图模型添加函数对我来说是新的,您能给我一个示例吗?