之前曾經想過如何不利用 segue 就可以跳轉畫面並且傳遞參數,今天終於做出來了!
我的 SecondViewController.swift 內宣告了一個 str(字串),而 ViewController.swift 程式如下。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var inputString: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func toSecondView(_ sender: Any) {
let myS = UIStoryboard(name: "Main", bundle: nil)
let vc = myS.instantiateViewController(identifier: "SecondViewController") as! SecondViewController
vc.str = inputString.text
show(vc, sender: nil)
} // 按下按鈕進行傳值跳頁
}
跟之前這篇的差異是把 vc 強制轉型態成 SecondViewController,如此一來就能取得 SecondViewController 下的 str(字串),再進行跳轉畫面。
當兩個 ViewController 分別在不同的 storyboard 時,將無法用 segue 進行傳值,就有使用上面方法的必要。