通过协议将值:ViewController传递到swift中的.xib文件
所以我有一个类“CalendarioViewController”,它有一个协议“DateSelectedDelegate” 协议:通过协议将值:ViewController传递到swift中的.xib文件,swift,protocols,xib,viewcontroller,Swift,Protocols,Xib,Viewcontroller,所以我有一个类“CalendarioViewController”,它有一个协议“DateSelectedDelegate” 协议: protocol DateSelectedDelegate { func dateSelected (date: String)} 我声明一个变量协议类型: var dateDelegate:DateSelectedDelegate?=无 在我的类“CalendarioViewController”中,我有一个@iAction按钮: @IBAction func
protocol DateSelectedDelegate {
func dateSelected (date: String)}
我声明一个变量协议类型:
var dateDelegate:DateSelectedDelegate?=无
在我的类“CalendarioViewController”中,我有一个@iAction按钮:
@IBAction func gotoHotelVC(_ sender: Any) {
if dateDelegate != nil {
if fechaSelected.text != nil {
let data = fechaSelected.text
dateDelegate?.dateSelected(date: data!)
}
}
}
在我的第二个VC或“FechasViewController”中,我使用协议define-early,使用两个按钮调用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!
使用协议:
扩展名FechasViewController:DateSelectedDelegate{
func dateSelected(日期:字符串){
fechaArriboLabel.text=日期
打印(日期)
打印(fechaArriboLabel.text!)
}
}
行打印(日期)或打印(fechaArriboLabel.text!)工作正常。。。但我的xib标签不会改变任何东西:
这是我的xib:
这是我的故事板:
把我的全部代码放在这里:
请…救命 您的
FechasViewController
是CustomViewHandler
的子类。您的CustomViewHandler
是UIView
子类。那么您的UIViewController
的子类在哪里呢?如果您的print语句正常工作,那么IBOutlet可能有问题。@Jignesh Agola:除了这个问题之外,还有什么问题呢?与班级有直接联系。如果我输入这行代码:fechaArriboLabel.text=“HELLO”在我按下按钮时有效。但是当我将CalendarViewController返回到ViewController或xib文件时..他将处于其原始状态,这才是真正的问题guess@nayem:我的子类UIViewController不在此参与。他正在加载xib文件。我想这不是问题…在实现的扩展名FechasViewController:DateSelectedDelegate{…}
的func dateSelected(date:String){…}
中放置一个断点,然后查看执行是否停止。