Sponsored Link
segueを使った値の受け渡しを解説します。
・準備としては画面遷移を行うのでViewControllerを二つ用意してそれぞれクラスを持たせたStoryBoardを作成します。
・次にNavigationControllerでViewControllerを内包させます。
するとNavigationControllerにViewControllerが内包される形になりますのでNavigationControllerに内包されたViewControllerと(ここでは遷移先をSecondViewControllerとします)SecondViewControllerを繋ぎます。
ここまでできたらコードで使う識別子の設定(Identifier)の設定を行います。
私は”segue”にしました。
Storyboardはこれで準備できましたのでコードを書いていきます。
ViewContoroller(渡したい値を持つView)
//
// ViewController.swift
// Segue for param
//
// Created by tarou yamasaki on 2015/02/04.
// Copyright (c) 2015年 tarou yamasaki. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
/// 画面遷移時に渡す為の値
var _param:String = "segue OK"
/**
インスタンス化された直後(初回一度のみ)
viewDidLoad
*/
override func viewDidLoad() {
super.viewDidLoad()
}
/**
memoryWarning
*/
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
/**
画面遷移ボタン
*/
@IBAction func _myButton(sender: AnyObject) {
performSegueWithIdentifier("segue",sender: nil)
}
/**
画面遷移時に値を遷移先に渡す
*/
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "segue") {
// SecondViewControllerクラスをインスタンス化してsegue(画面遷移)で値を渡せるようにバンドルする
var secondView : SecondViewController = segue.destinationViewController as SecondViewController
// secondView(バンドルされた変数)に受け取り用の変数を引数とし_paramを渡す(_paramには渡したい値)
// この時SecondViewControllerにて受け取る同型の変数を用意しておかないとエラーになる
secondView._second = _param
}
}
}
SecondViewController(受けたい値のView)
//
// SecondViewController.swift
// Segue for param
//
// Created by tarou yamasaki on 2015/02/04.
// Copyright (c) 2015年 tarou yamasaki. All rights reserved.
//
import UIKit
class SecondViewController: UIViewController {
/// ラベルをアウトプット接続
@IBOutlet weak var _myLabel: UILabel!
/// 遷移時の受け取り用の変数
var _second:String = ""
/**
インスタンス化された直後(初回に一度のみ)
viewDiDLoad
*/
override func viewDidLoad() {
super.viewDidLoad()
// ラベルに受け取った遷移用の変数を渡す
_myLabel.text = _second
}
/**
memoryWarnig
*/
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
一応コードの写真も載せときます
書いてないのはボタンとラベルぐらいです。
Sponsored Link
ツイート
SwiftにてprepareForSegueを使った画面遷移時の値の受け渡しの解説





大変参考になりました。
質問ですが、second画面からかmain画面に戻る時の値の受け渡しは、どのように設定すれば良いのでしょうか。
幼稚な質問で申し訳ありません。