Извлечение переменной из функции в Swift - PullRequest
0 голосов
/ 25 апреля 2020

Я уверен, что есть простой ответ на этот вопрос, но я новичок ie, и я не могу понять, как записать простую строку в переменную, чтобы использовать ее повсюду в коде. Я просто пытаюсь получить дату от 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
   }

Любое направление будет оценено.

1 Ответ

1 голос
/ 26 апреля 2020

Если у вас есть переменная в том же UIViewController, что и datePicker, эта переменная будет заполнена строкой даты при вызове datePicker. Вы можете передать это значение при переходе в или из этого или других UIViewControllers

var selectedDate: String?

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

Если в другом файле вы создаете функцию stati c как часть другого класса, вы можете сохранить строку даты там. Это не очень хорошая практика кодирования, если только вы не помещаете все свои логи c в координатор или аналогичное кодирование типов.

class BigMessyDataHolder {
    static var selectedDate: Date?
}

и затем в своем коде назовите это так:

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

А затем получить доступ к формату даты из любой точки мира

...