zoukankan      html  css  js  c++  java
  • Swift语言实现代理传值

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

    一、创建RootViewController

    import Foundation
    import UIKit
    
    class RootViewController:UIViewController,ChangeWordDelegate{
        var qzLabel:UILabel?
        override func viewDidLoad(){
            super.viewDidLoad()
            self.title = "RootViewController"
            let rightBtn:UIBarButtonItem = UIBarButtonItem(title:"下一页",style:.Plain,target:self,action:"nextPage")
            self.navigationItem.rightBarButtonItem = rightBtn
            
            let rect = CGRect(x:0,y:200,320,height:50)
            qzLabel = UILabel(frame:rect)
            qzLabel!.text = "秦志伟"
            qzLabel!.textAlignment = NSTextAlignment.Center
            self.view.addSubview(qzLabel)
            
            
        }
        func nextPage(){
            let svc = SecondViewController()
            svc.delegate = self
            self.navigationController.pushViewController(svc,animated:true)
        }
        func changeWord(controller:SecondViewController,string:String){
            qzLabel!.text = string
            println("qzLabel.text == (string)")
        }
    }


    二、创建SecondViewController

    import Foundation
    import UIKit
    
    //定义协议改变Label内容
    protocol ChangeWordDelegate:NSObjectProtocol{
        //回调方法
        func changeWord(controller:SecondViewController,string:String)
    }
    class SecondViewController:UIViewController{
        var temp = 0
        var delegate:ChangeWordDelegate?
        override func viewDidLoad(){
            super.viewDidLoad()
            self.title = "SecondViewController"
            self.view.backgroundColor = UIColor.greenColor()
            let rect = CGRect(x:50,y:200,150,height:50)
            var myButton = UIButton(frame:rect)
            myButton.center = CGPointMake(160,200)
            myButton.setTitle("改变Label内容",forState:.Normal)
            myButton.addTarget(self,action:"btnClicked",forControlEvents:.TouchUpInside)
            self.view.addSubview(myButton)
            
        }
        func btnClicked(){
            temp++
            println("我被点击了!")
            if(delegate){
                delegate?.changeWord(self,string:"秦志伟"+String(temp))
            }
            
        }
    }


  • 相关阅读:
    推荐系统-01-简单逻辑回归
    顶部BANNER
    大数据-12-Spark+Kafka构建实时分析Dashboard
    大数据-10-Spark入门之支持向量机SVM分类器
    大数据-11-案例演习-淘宝双11数据分析与预测
    大数据-09-Intellij idea 开发java程序操作HDFS
    大数据-08-Sqoop入门
    大数据-07-Spark之流数据
    准确度,精确度, 召回率
    [转]springcloud(九):配置中心和消息总线(配置中心终结版)
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4291248.html
Copyright © 2011-2022 走看看