一般我们在做传值动作的时候,会有好几种方式可以做,像是用 Segue、Closure、Delegate、Global Variable、Notification 等方式,每种都有不同的应用场景,所以就依情况来使用~
在上一篇已经有介绍了 GlobalVariable 传值的方法了
首先要在 Storyboard 上将 Button 透过拉 Segue 到 SecondVC,来建立跳页的功能
设定跳页方式为「Show」,iOS 13 开始,预设跳页都是卡片式跳页,所以如果想要改回以前的跳页方式,可以点目的画面的 ViewController,修改「TransitionStyle」、「Presentation」 (红框处)
接着点一下 Segue,来设定这条 Segue 的 Identifier (红框处)
然後新增一个 SecondVC.swift,让第二个画面的 class 改为我们新增的这个档案 (红框处)
先打开 SecondVC.swift,宣告一个变数 text,跟在 viewDidLoad 加入下面的程序码
var text: String?
override func viewDidLoad() {
super.viewDidLoad()
textView.text = text
}
再打开 ViewController.swift,加入下面的程序码
这里我们做一个判断,如果 segue.identifier 等於我们刚刚设定的 Segue Identifier,就执行下方的传值动作
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if (segue.identifier == "goToSecondVC") {
let controller = segue.destination as! SecondVC
controller.text = textField.text
}
/* 上面那段也可以改写成下面这样
guard segue.identifier == "goToSecondVC" else { return }
let controller = segue.destination as! SecondVC
controller.text = textField.text
*/
}
本篇的范例程序码:GitHub
目的 将实际执行的服务遮蔽,取而代之的,建立一个代理人负责对外窗口的身份,以及对内与该服务沟通。 说...
案例前情提要 会想来使用Odoo的公司,通常是在市面上现有ERP系统找不到解决方案的公司,归纳一下 ...
线性的资料储存方式一般有两种 array (阵列) list node (链结) 这两种差别到底在那...
所以 LIFF 到底是什麽? 从前,我们只能用 LINE app,在聊天室内与朋友一对一谈话,或是用...
一日客家话:中文:吃喜酒 客语:ㄅㄨㄣˊ 拧呛 Expressions 在中文会翻译表达式/运算式 ...