我是swift
的新程序员。我试图创建一个新的窗口控制器来处理DatePicker
的东西。现在,新窗口只能显示和初始化,而不能做进一步的工作。
在主ViewController中,我包括了以下几行
let datePickerVC = DatePicker()
datePickerVC.showWindow(nil)
import Cocoa
class DatePicker: NSWindowController{
@IBOutlet weak var datePicker: NSDatePicker!
@IBOutlet weak var datePickerView: NSView!
@IBOutlet weak var dateField: NSTextField!
var selectedDate = ""
convenience init(){
self.init(windowNibName: "DatePicker")
self.window?.level = .floating
}
@objc func chooseDateForUpload(){
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyyMMdd"
selectedDate = dateFormatter.string(from: datePicker.dateValue)
dateField.stringValue = selectedDate
print("selectedDate.dateValue: \(selectedDate)")
}
override func windowDidLoad() {
super.windowDidLoad()
initWindowView()
}
func initWindowView(){
datePicker.dateValue = Date()
datePicker.target = self
datePicker.action = #selector(chooseDateForUpload)
let action = NSEvent.EventTypeMask.mouseExited
self.datePicker.sendAction(on: action)
chooseDateForUpload()
}
当前,它仅击中chooseDateForUpload
一次,无法做任何进一步的工作。我希望每次我更改DatePicker
时,它都会做出反应并得到日期,但是初始化后到目前为止,什么也没有返回。