【问题标题】:I want to make datePicker on IOS by swift我想通过 swift 在 IOS 上制作 datePicker
【发布时间】:2017-04-02 08:26:37
【问题描述】:

全部 我是IOS的新开发者。现在我通过书本学习 Swift。 有一些麻烦。我使用 swift3,但本书由 swift2 组成。 所以我不知道什么是错误的代码。 你可以帮帮我吗? 感谢您阅读和帮助我。

这是数据代码。

import UIKit

class ViewController: UIViewController {

    let timeSelector: Selector = #selector(ViewController.updateTime)
    let interval = 1.0
    var count = 0
    @IBOutlet weak var IbICurrentTime: UILabel!
    @IBOutlet weak var IbIPickTime: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        Timer.scheduledTimer(withTimeInterval: interval, repeats: true, block: timeSelector)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func changeDatePicker(_ sender: UIDatePicker) {
        let datePickerView = sender
        let formatter = DateFormatter()
        formatter.dateFormat = "YYYY-MM-dd HH:mm:ss EEE"
        IbIPickTime.text = "선택시간: " + formatter.string(from: datePickerView.date)
    }
    func updateTime() {
        IbICurrentTime.text = String(count)
        count = count+1
    }

}

有问题

Timer.scheduledTimer(withTimeInterval: interval, repeats: true, block: timeSelector)
    }

我不知道我必须在“块”输入什么?

【问题讨论】:

    标签: ios swift datepicker


    【解决方案1】:

    “Block”是 Swift 闭包的 Objective-C 术语。 “Blocks”变体的工作方式如下:

    Timer.scheduledTimer(timeInterval: interval, repeats: true, block: { timer in
        self.IbICurrentTime.text = String(self.count)
        self.count += 1
    })
    

    您不需要使用块语法定义单独的updateTime() 函数。

    在 Swift 中,上面的内容可以更自然地写成

    Timer.scheduledTimer(timeInterval: interval, repeats: true) { _ in
        self.IbICurrentTime.text = String(self.count)
        self.count += 1
    }
    

    如果你想使用选择器,use scheduled​Timer(time​Interval:​target:​selector:​user​Info:​repeats:​) instead:

    Timer.scheduledTimer(time​Interval: interval,
                         target: self,
                         selector: #selector(updateTime),
                         userInfo: nil,
                         repeats: true)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-03
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      • 2018-07-10
      • 2020-09-26
      • 2020-11-29
      相关资源
      最近更新 更多