Swift 协议代理的使用和传值

前端之家收集整理的这篇文章主要介绍了Swift 协议代理的使用和传值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Swift 协议代理的使用和OC的使用步骤是一致.

效果

具体使用步骤

在SecondViewController里面声明一个协议
1.声明一个协议方法

/** * 声明一个协议 */
protocol SecondViewControllerDelegate{
    // 协议方法
    func changeText(str:String)
}

协议名:SecondViewControllerDelegate
2.声明一个SecondViewControllerDelegate对象

// 声明一个协议的属性
var delegate : SecondViewControllerDelegate?

3.关联协议方法

func textFieldDidEndEditing(textField: UITextField) {
   // 协议传值
   self.delegate?.changeText(textField.text!)
}

在ViewController里面
4.关联协议SecondViewControllerDelegate
5.代理的关联

@IBAction func nextBtnClick(sender: UIButton) {
    let sVC  = SecondViewController()
    sVC.delegate = self // 关联代理
    self.navigationController?.pushViewController(sVC,animated: true);
}

6.实现协议方法

func changeText(str: String) {
     self.showLabel.text = str
}

总结

  • 代理协议的使用步骤就是这6步,在制作协议的地方和使用协议的地方都是3步,每一步缺一不可.
  • 代理的反向传值的使用
  • pushViewController方法的使用

OC版本协议和代理

参见博客:

《【iOS开发之Objective-C】协议和代理》

猜你在找的Swift相关文章