所以我有一个“CalendarioViewController”类,其中包含一个协议“DateSelectedDelegate”。
协议:
protocol DateSelectedDelegate {
func dateSelected (date: String)}
我声明了一个变量协议类型:
var dateDelegate: DateSelectedDelegate? = nil
进入我的班级“CalendarioViewController”我有一个@IBAction按钮:
@IBAction func gotoHotelVC(_ sender: Any) {
if dateDelegate != nil {
if fechaSelected.text != nil {
let data = fechaSelected.text
dateDelegate?.dateSelected(date: data!)
}
}
}
在我的secondVC或“FechasViewController”中,我使用早期的协议定义,我用两个按钮调用CalendarioViewController。 FechasViewController是一个xib文件:
@IBAction func fechaArribo(_ sender: Any) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc:CalendarioViewController = storyboard.instantiateViewController(withIdentifier: "calendario") as! CalendarioViewController
vc.dateDelegate = self
self.window!.rootViewController = vc
}
@IBAction func fechaSalida(_ sender: Any) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc:CalendarioViewController = storyboard.instantiateViewController(withIdentifier: "calendario") as! CalendarioViewController
vc.dateDelegate = self
self.window!.rootViewController = vc
}
我的@IBOutlet:
@IBOutlet weak var fechaArriboLabel: UILabel!
使用协议:
extension FechasViewController: DateSelectedDelegate {
func dateSelected(date: String) {
fechaArriboLabel.text = date
print(date)
print(fechaArriboLabel.text!)
}
}
行打印(日期)或打印(fechaArriboLabel.text!)工作正常......但我的xib标签不会改变任何内容:
这是我的故事板:
请...帮助!