Ios 从Swift(1.2)中的字符串设置UIDateFormatter

Ios 从Swift(1.2)中的字符串设置UIDateFormatter,ios,swift,date,set,uidatepicker,Ios,Swift,Date,Set,Uidatepicker,我想做的是从保存日期的字符串中检索日期,并将其传递给UIDatePicker(滚动日期选择器元素),因此下面是我的一段代码: @IBOutlet weak var myDatePicker: UIDatePicker! @IBOutlet weak var nameTextField: UITextField! @IBOutlet weak var saveButton: UIBarButtonItem! //converting date to string to show

我想做的是从保存日期的字符串中检索日期,并将其传递给UIDatePicker(滚动日期选择器元素),因此下面是我的一段代码:

@IBOutlet weak var myDatePicker: UIDatePicker!
@IBOutlet weak var nameTextField: UITextField!   

@IBOutlet weak var saveButton: UIBarButtonItem!

    //converting date to string to show in table cell

    func dateToString (date: NSDate) -> String {
        let dateFormatter = NSDateFormatter()
        dateFormatter.dateFormat = "dd-MM-yyyy HH:mm"
        return dateFormatter.stringFromDate(date)
    }

    //converting string from table cell to edit date

    func stringToDate (string: NSString) -> NSDate {
        let dateFormatter = NSDateFormatter()
        dateFormatter.dateFormat = "dd-MM-yyyy HH:mm"
        return dateFormatter.dateFromString(dateToString (myDatePicker.date))!
    }

// here we are saving our data picked from text field and date picker UIs

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if saveButton === sender {
            let name = nameTextField.text ?? ""
            let date = dateToString (myDatePicker.date) ?? ""
            item = Item (name: name, date: date)
        }
    }

// Here we are retrieving data when press tableCell cell:

override func viewDidLoad() {
        super.viewDidLoad()
        if let item = item {
            nameTextField.text = item.name
            myDatePicker.setDate(stringToDate(item.date), animated: true)

            // also need to pass date smhw
        }
    }
从UIDatePicker保存到UITableCell中的字符串-没问题,将字符串(UILabel)传递到UITextField-没问题,但我无法将字符串传递到UIDatePicker。 它没有警告,构建-没有问题,启动,但没有发生任何操作。 请就这个问题提出解决办法。我正在编写swift 1.2

func stringToDate (string: String) -> NSDate {
        let dateFormatter = NSDateFormatter()
        dateFormatter.dateFormat = "dd-MM-yyyy HH:mm"
        return dateFormatter.dateFromString(string)!
    }

这很有效。

为什么要使用1.2?不要在1.2中编写代码。认真地你知道4号刚刚发布了吗?试着用swift 3编码。你会得到更多的帮助,你可以使用和继续。我买不起mac或macbook,这就是我使用VMWare的原因。因为我的CPU是AMD,只有OSX10.10.5可以通过虚拟机安装,所以我唯一的选择是Xcode 6.2,它有swift 1.2。请,通过swift 3.0中的解决方案,我将在语法方面对其进行更正:)很抱歉听到这个消息,谢谢您的理解。我正在学习基础知识,基本上Xcode 6的结构与版本8非常相似,一开始还可以,而且我也经常看到一些swift 3代码示例,所以我对一些更改很熟悉。。。虽然我真的在考虑订阅VirtualMac,这是在实际环境中编写代码的一种方式。我祝你们好运,并在我能帮助的时候乐意提供帮助!