[英]I want to make datePicker on IOS by swift
我是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)
}
我不知道在“块”中必须输入什么?
“块”是Swift闭包的Objective-C术语。 “块”变体的工作方式如下:
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
}
如果要使用选择器,请改用scheduledTimer(timeInterval:target:selector:userInfo:repeats:)
:
Timer.scheduledTimer(timeInterval: interval,
target: self,
selector: #selector(updateTime),
userInfo: nil,
repeats: true)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.