存在多个 UITextField 时从 UIDatePicker 返回值

Returning value from UIDatePicker when multiple UITextFields are present

我有多个 UITextField,其中一些将使用 'UIDatePicker'。我怎样才能 return 来自 UIDatePicker 的值而不必在 datePickerChanged 函数中编码 textField.text = formatter.stringFromDate(datePicker.date)

func textFieldDidBeginEditing(textField: UITextField) {
    switch textField.tag {

        //tag = 3 is the text field that needs the date
    case 3:
        let datePicker = UIDatePicker()
        textField.inputView = datePicker
        datePicker.addTarget(self, action: "datePickerChanged:", forControlEvents: .ValueChanged)
        //textField.text = value returned from datePickerChanged
    default: break
    }
}

func datePickerChanged(datePicker: UIDatePicker) {
    let formatter = NSDateFormatter()
    formatter.dateStyle = .MediumStyle
    let dateTextValue = formatter.stringFromDate(datePicker.date)
    // how can I return (dateTextValue)?
}

您可以创建一个名为 currentTextField 的变量,并在您的 case 语句中将 textField 分配给 currentTextField。然后你的 datePickerChanged(_:) 函数可以使用 currentTextField 来设置日期。