Ios 我需要将变量中的值转换为参数

Ios 我需要将变量中的值转换为参数,ios,swift,Ios,Swift,我的变量中的值在它们自己的函数中,我不知道如何将它们取出 我有一个参数 让参数=[“出席”:“3”,“原因”:(原因+“”+otherReasonText),“发件人”:日期发件人,“收件人”:日期收件人] 此参数仅在类ViewController中 理由 otherReasonText//位于按钮的iAction内 让otherReasonText:String=leaveTextView.text dateFrom/dateTo//这两者的用途相同,但只是两个不同的日期选择器 我只需要将

我的变量中的值在它们自己的函数中,我不知道如何将它们取出

我有一个参数

让参数=[“出席”:“3”,“原因”:(原因+“”+otherReasonText),“发件人”:日期发件人,“收件人”:日期收件人]

此参数仅在类
ViewController

  • 理由
  • otherReasonText//位于按钮的iAction内

    让otherReasonText:String=leaveTextView.text

  • dateFrom/dateTo//这两者的用途相同,但只是两个不同的日期选择器


  • 我只需要将这些变量放入参数中,因为我会将该参数作为POST请求发送,但我不知道如何将变量放入参数中。

    您可以从pickerview、datepicker和textview中获取所选的值,无论您想在哪里

    func callAPI() {
        let reason = reasonPicker[reasonPickerView.selectedRow(inComponent: 0)]
        let otherReasonText = leaveTextView.text!
        let dateFrom = fromDatePicker.date
        let dateFormatter = DateFormatter()
        dateFormatter.dateStyle = DateFormatter.Style.short
        let dateFrom = dateFormatter.string(from: datepickerFrom.date)
        let dateTo = dateFormatter.string(from: datepickerTo.date)
        let parameters = ["attendance": "3", "reason": (reason + " " + otherReasonText), "from": dateFrom, "to": dateTo]
        //call api
    }
    

    为什么不将变量保存在函数之外?参数位于iAction函数
    do{request.httpBody=try JSONSerialization.data(withJSONObject:parameters,options:.prettypted)}catch let error{print(error.localizedDescription)}
    和callAPI()参数无法获取其他参数variables@Olufsen你说的“不能得到其他变量”是什么意思?Nvm哈哈,我现在很好,谢谢你,我刚刚把你的代码放在了参数所在的函数中,谢谢
    @IBAction func FromDatePicker(_ sender: Any) {
        let dateFormatter = DateFormatter()
            
        dateFormatter.dateStyle = DateFormatter.Style.short
        let dateFrom = dateFormatter.string(from: datepickerFrom.date)
            
        print(dateFrom)
    }
    
    func callAPI() {
        let reason = reasonPicker[reasonPickerView.selectedRow(inComponent: 0)]
        let otherReasonText = leaveTextView.text!
        let dateFrom = fromDatePicker.date
        let dateFormatter = DateFormatter()
        dateFormatter.dateStyle = DateFormatter.Style.short
        let dateFrom = dateFormatter.string(from: datepickerFrom.date)
        let dateTo = dateFormatter.string(from: datepickerTo.date)
        let parameters = ["attendance": "3", "reason": (reason + " " + otherReasonText), "from": dateFrom, "to": dateTo]
        //call api
    }