Swift 的语言非常简练,这就让它的属性传值功能变得更加强大,从第一个界面传到第二个界面,这种方法非常简单,这里就不在赘述。下面这个例子说的是用属性传值从第二个控制器传值到第一个控制器的方法。
属性传值:http://blog.csdn.net/zhangjitao_boke/article/details/50606185
代理传值:http://blog.csdn.net/zhangjitao_boke/article/details/50606707
闭包传值:http://blog.csdn.net/zhangjitao_boke/article/details/50607325
通知传值:http://blog.csdn.net/zhangjitao_boke/article/details/50607818单例传值:http://blog.csdn.net/zhangjitao_boke/article/details/50608066
首先,在storyBoard里面拖如下界面,从左到右分别是导航控制器,FirstViewController,SecondViewController
创建好界面,后创建相应的控制器,并且关联控制器和控制器上的textField,顺便添加一下StoryBoard ID
项目目录如下
方法简单,几行代码实现,现在直接上代码
在FirstViewController实现代码如下
//
// FirstViewController.swift
// ShuxingPassValue
//
// Created by JT on 16/1/29.
// Copyright © 2016年 JT. All rights reserved.
//
import UIKit
class FirstViewController: UIViewController {
@IBOutlet weak var firstTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
// 这里用最简单的方法
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
let storyBoard = UIStoryboard.init(name: "Main", bundle: nil)
let secondVC = storyBoard.instantiateViewControllerWithIdentifier("secondVC") as! SecondViewController
// 这里是将FirstViewController传递给下个界面以供使用
secondVC.firstVC = self
self.navigationController?.pushViewController(secondVC, animated: true)
}
}
在SecondViewController实现代码如下(设置 firstVC变量来接收FirstViewController)
//
// SecondViewController.swift
// ShuxingPassValue
//
// Created by JT on 16/1/29.
// Copyright © 2016年 JT. All rights reserved.
//
import UIKit
class SecondViewController: UIViewController {
@IBOutlet weak var secondTextField: UITextField!
var firstVC:FirstViewController!
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "返回", style: UIBarButtonItemStyle.Plain, target: self, action: "backAction")
}
func backAction() {
// 传值
firstVC.firstTextField.text = secondTextField.text
self.navigationController?.popToRootViewControllerAnimated(true)
}
}
实现完上面的部分我们的属性逆向传值就完成了,现在看下效果
第二个控制器
第一个控制器效果
swift属性传值这里就叙述完毕了