Swift从零开始学习_08(代理协议传值)

    Swift中的代理协议的写法.
   

  这是第一个页面有一个button和一个label, button点击跳到下一个页面.

  第二个页面有一个输入框和一个按钮, 点击按钮把输入框里的内容设置为第一个页面label的内容.效果如下

接下来是代码部分.跟OC的写法还是一样的.这里不再写第一个页面的那些UI的代码.直接看第二个页面的代码.

import UIKit

protocol SecondViewControllerDelegate{
    func changeLabelText(#textStr:String) //创建协议
}

class SecondViewController: UIViewController {

    var delegate:SecondViewControllerDelegate? //设置代理属性
    
    var testTF:UITextField!

创建协议并声明代理属性

 func doClick(){//button关联方法的实现
        delegate?.changeLabelText(textStr: testTF.text)//让代理去执行代理方法
    }

button关联的方法实现.

func doClick(){//点击跳转到下一个页面
        let secondVC = SecondViewController()//创建第二个页面的实例
        secondVC.delegate = self//设置代理
        self.navigationController?.pushViewController(secondVC, animated: true)
    }
    func changeLabelText(#textStr: String) {//实现代理方法
        println("走了代理方法")
        aLabel.text = textStr
    }

这是第一个页面中的代码部分, 需要他去接受一下协议就行了.

 

 结语

       这几天着手开始做公司的SDK了.用到了一些知识是之前没有涉及过的, 诸如8583包、银联规范什么的, 反正好多, 感觉还是会的太少也就要不停的去学着用一些新东西.所以学习Swift的时间就有限了.只能有很少的时间去学了.这里只能做些简单的练习了...

 

posted on 2015-02-09 16:37  Now丶薄荷  阅读(702)  评论(0编辑  收藏  举报

导航