【发布时间】:2017-06-07 18:06:19
【问题描述】:
我想做的是从保存日期的字符串中检索日期,并将其传递给 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。
【问题讨论】:
-
你为什么使用 1.2?不要在 1.2 中编码。严重地。你知道 4 刚刚发布吗?尝试在 swift 3 中编写代码。您将获得更多可以使用和发扬光大的帮助。
-
我买不起mac或macbook,这就是我使用VMWare的原因。而且因为我的 CPU 是 AMD,只能通过虚拟机安装 OS X 10.10.5,所以我唯一的选择是 Xcode 6.2,它有 swift 1.2。请在这里通过 swift 3.0 中的解决方案,我将更正它的语法:)
-
很遗憾听到这个消息????对不起我的cmets。只是如果您使用的是非常旧的软件,则很难为您提供帮助。更糟糕的是,你必须学习一些现在错误的东西!你必须忘记一堆东西才能成为最新的。当我回到我的 Mac 时,我会再看看你的问题。我应该能够帮助你。虽然我希望其他人在我之前做——这将是几个小时。
-
感谢您的理解。我正在学习基础知识,基本上Xcode 6的结构与版本8非常相似,一开始还可以,而且我也经常看到一些swift 3代码示例,所以我熟悉一些变化......虽然我真的在想关于订阅 VirtualMac 有点像在实际环境中编码。
-
祝您好运,并在可能的情况下很乐意为您提供帮助。 !
标签: ios swift date set uidatepicker