《Swift 的界面之间的传值,详细介绍3种传值方式》正向传值、协议传值、闭包
1、 控制器界面间的正向传值
/*
《Swift 的界面之间的传值,详细介绍3种传值方式》
正向传值、协议传值、闭包
*/
/*
随着移动的开发,界面之间的传值,也频繁出现,更关键的是在面试的时候也时常被提起。提起最多的是 Block 同时还有协议 (在Swift中是叫 闭包)。我们要详细介绍它。
*/
// Created by 周双建 on 15/12/7.
// Copyright © 2015年 周双建. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
let Screen = CGSizeMake(
200, 40)
override func viewDidLoad() {
super.viewDidLoad()
// 我们首先,进行正面解说
//我们先给我们的本控制器设置一个标题 (必须实现导航控制器否者不显示)
self.title = "第一个控制器"
self.view.backgroundColor = UIColor.whiteColor()
// 设置一个点击按钮,驱动事件跳转到下一个控制器
let Btn = UIButton(type: UIButtonType.Custom) as UIButton
Btn.frame = CGRectMake(20, 100, Screen.width, Screen.height)
Btn.setTitle("跳转到第二个控制器", forState: UIControlState.Normal)
Btn.setTitleColor(UIColor.magentaColor(), forState: UIControlState.Normal)
Btn.addTarget(self, action: "BtnClick", forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(Btn)
// Do any additional setup after loading the view, typically from a nib.
}
/*****************************************************************/
// 按钮点击后,事件的触发
func BtnClick(){
//现获取,跳转的控制器对象
let TVC = TwoViewController()
//传入一个字符串,给第二个控制器
TVC.TSTR = "第二个控制器"
//在传入一个颜色对象
TVC.TColoer = UIColor.blueColor()
//实现界面的跳转
self.navigationController?.pushViewController(TVC, animated: true)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
第二个控制器的内容是: