0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Xcodeで画面遷移とともにデータを渡す

Posted at

何度も調べているので、自分用にまとめます。
ここに記したもの以外にもいくつか方法はあります。

##やりたいこと
commentTextViewに書かれたものを画面遷移先で使いたい!

##手順

  1. 遷移のきっかけ(?)となるボタン(以下ボタンA)と遷移先のViewControllerを繋ぐ。
  2. storyborad上のsegueにidentifierをつける(例"next")
  3. ボタンAをswiftファイルに@IBActionで結びつける。'performSegue'メソッドの引数'withIdentifier'には2で入力したものを入れる
@IBAction func next(_ sender: Any) {
        performSegue(withIdentifier: "next", sender: nil)
        
    }

ここまでで遷移自体はできます。以下から値渡しになります。
4. 遷移先のViewControllerに渡したい値を型に持つ変数を定義する。

var nextString1 = String()
var nextString2 = ""

5.遷移前のViewControllerでprepareメソッドをオーバーライドする。
引数for segueには遷移前のViewController名を入れる。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        let nextVC = segue.destination as? NextViewController
        NextVC?.nextString1 = commentTextView.text
       }

これで値渡し自体はできています。
あとは遷移先のViewControllerがロードされた時にラベルに貼り付けるのような操作を加えれば終了です。

6.遷移先のViewControllerのViewDidLoadメソッドに代入する操作をかく

override func viewDidLoad() {
        super.viewDidLoad()
        nextLabel.text = nextString1
    }

以上です。調べればわかりますが、このサイトに4回アクセスしていますみたいなのはストレスなんですよね〜

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?