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的时间就有限了.只能有很少的时间去学了.这里只能做些简单的练习了...
时间: 2024-11-09 05:15:02