加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift 协议代理的使用和传值

发布时间:2020-12-14 07:02:51 所属栏目:百科 来源:网络整理
导读:Swift 协议代理的使用和OC的使用步骤是一致. 效果图 具体使用步骤 在SecondViewController里面声明一个协议 1.声明一个协议方法 /** * 声明一个协议 */ protocol SecondViewControllerDelegate{ // 协议方法 func changeText(str:String)} 协议名:SecondView

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】协议和代理》

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读