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

Swift语言实现代理传值

发布时间:2020-12-14 02:21:02 所属栏目:百科 来源:网络整理
导读:需求:利用代理实现反响传值(以下例子采用点击第二个视图控制器中的按钮来改变第一个视图控制器中的Label的内容) 一、创建RootViewController [objc] view plain copy importFoundation importUIKit class RootViewController :UIViewController,ChangeWor

需求:利用代理实现反响传值(以下例子采用点击第二个视图控制器中的按钮来改变第一个视图控制器中的Label的内容)

一、创建RootViewController

[objc] view plain copy
  1. importFoundation
  2. importUIKit
  3. classRootViewController:UIViewController,ChangeWordDelegate{
  4. varqzLabel:UILabel?
  5. overridefuncviewDidLoad(){
  6. super.viewDidLoad()
  7. self.title="RootViewController"
  8. letrightBtn:UIBarButtonItem=UIBarButtonItem(title:"下一页",style:.Plain,target:self,action:"nextPage")
  9. self.navigationItem.rightBarButtonItem=rightBtn
  10. letrect=CGRect(x:0,y:200,width:320,height:50)
  11. qzLabel=UILabel(frame:rect)
  12. qzLabel!.text="秦志伟"
  13. qzLabel!.textAlignment=NSTextAlignment.Center
  14. self.view.addSubview(qzLabel)
  15. }
  16. funcnextPage(){
  17. letsvc=SecondViewController()
  18. svc.delegate=self
  19. self.navigationController.pushViewController(svc,animated:true)
  20. }
  21. funcchangeWord(controller:SecondViewController,string:String){
  22. qzLabel!.text=string
  23. println("qzLabel.text==(string)")
  24. }


二、创建SecondViewController

    //定义协议改变Label内容
  1. protocolChangeWordDelegate:NSObjectProtocol{
  2. //回调方法
  3. SecondViewController:UIViewController{
  4. vartemp=0
  5. delegate:ChangeWordDelegate?
  6. self.title="SecondViewController"
  7. self.view.backgroundColor=UIColor.greenColor()
  8. letrect=CGRect(x:50,width:150,108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px; margin:0px!important; padding:0px 3px 0px 10px!important"> varmyButton=UIButton(frame:rect)
  9. myButton.center=CGPointMake(160,200)
  10. myButton.setTitle("改变Label内容",forState:.Normal)
  11. myButton.addTarget("btnClicked",forControlEvents:.TouchUpInside)
  12. self.view.addSubview(myButton)
  13. funcbtnClicked(){
  14. temp++
  15. println("我被点击了!")
  16. if(delegate){
  17. delegate?.changeWord("秦志伟"+String(temp))
  18. }

(编辑:李大同)

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

    推荐文章
      热点阅读