实现代理传值1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41import UIKit
class ViewController: UIViewController,ChangeValueDelegate{
var btn = UIButton()
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor.whiteColor()
btn.setTitle("Change", forState:.Normal)
btn.backgroundColor = UIColor.blueColor()
btn.frame = CGRect(x: 100, y: 100, width: 100, height: 50)
btn.addTarget(self, action: #selector(change), forControlEvents: .TouchUpInside)
self.view.addSubview(btn)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// delegate 代理方法
func changeValue(value: String) {
btn.setTitle(value, forState: .Normal)
print("value:\(value)")
}
// 传值
func change(){
let vc = ChangeValueViewController()
vc.delegate = self
self.navigationController?.pushViewController(vc, animated: true)
}
}
协议
1 | protocol ChangeValueDelegate { |
使用代理传值
1 | class ChangeValueViewController: UIViewController { |