首页 > 解决方案 > 在 Xcode 10 上使用 Date Picker 对象获取时间输入

问题描述

我对 iOS 开发非常陌生,主要通过在线教程学习,因为它们是最容易遵循的,但我找不到任何有助于我在 Xcode 10 中使用对象库中的日期选择器获取用户输入的具体案例:时间。我正在创建一个应用程序,该应用程序要求用户提供到达和离开时间输入,并让代码从这些输入中计算持续时间(以小时和分钟为单位)。如果有人可以向我展示我是如何从我的代码中专门解决这个问题的,那就太好了,因为我对编码很陌生,而且我很难从线程讨论中学习,因为我对去哪里感到困惑。谢谢!

我只从库中放入了两个日期选择器对象,从属性界面将模式设置为时间,并将两个对象连接到代码中,每个对象都有 Outlet 和 Action。

import UIKit

class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {

    @IBOutlet weak var atPickerOutlet: UIDatePicker!

    @IBAction func atPicker(_ sender: UIDatePicker)
    {

    }

    @IBOutlet weak var dtPickerOutlet: UIDatePicker!

    @IBAction func dtPicker(_ sender: UIDatePicker)
    {

    }

override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }
}

在此处输入图像描述

标签: iosswiftxcode

解决方案


您不需要IBAction为这两个日期选择器添加。IBAction为按钮创建一个新calculate按钮并使用查找两个日期之间的差异timeIntervalSince(_:)

@IBAction func calculateBtnTapped(_ sender: UIButton) {
    let interval = Int(dtPickerOutlet.date.timeIntervalSince(atPickerOutlet.date))
    let seconds = interval % 60
    let minutes = (interval / 60) % 60
    let hours = (interval / 3600)
    print(String(format: "%0.2d:%0.2d:%0.2d",hours,minutes,seconds))
}

推荐阅读