首页 > 解决方案 > 从 Swift 中的函数中提取变量

问题描述

我确定对此有一个简单的答案,但我是新手,我无法弄清楚如何将简单的字符串捕获到变量中以在代码中的任何地方使用它。我只是想从 UIDatePicker 获取日期,而不仅仅是在标签中使用它。

    @IBAction func datePicker(_ sender: UIDatePicker)   {

        let dateFormater: DateFormatter = DateFormatter()
        dateFormater.dateFormat = "yyyy-MM-dd"
        let stringFromDate: String = dateFormater.string(from: self.datePicker.date) as String

              print(stringFromDate)
        // dateDisplay.text = stringFromDate
        return
   }

任何方向将不胜感激。

标签: swiftvariablesuidatepickerswift5

解决方案


如果您在与 datePicker 相同的 UIViewController 中有一个 var,则在调用 datePicker 时,该 var 将被日期字符串填充。您可以在进入或退出此 UIViewController 或其他 UIViewController 时传递该值

var selectedDate: String?

@IBAction func datePicker(_ sender: UIDatePicker) {
    selectedDate = self.datePicker.date
}

如果在另一个文件中创建一个静态函数作为另一个类的一部分,则可以将日期字符串存储在那里。除非您将所有逻辑放入协调器或类似类型的编码中,否则这并不是真正的编码实践。

class BigMessyDataHolder {
    static var selectedDate: Date?
}

然后在您的代码中,像这样调用它:

   @IBAction func datePicker(_ sender: UIDatePicker) {
        BigMessyDataHolder.selectedDate = self.datePicker.date
   }

然后从任何地方访问 dateFormatter


推荐阅读