質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

179閲覧

text.fieldの文字を次のビューで表示させたい。

snoowty

総合スコア23

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2018/02/11 17:43

編集2018/02/11 17:59

text.fieldの文字を次のビューで表示させたい。

XcodeでSwiftを用いてアプリ開発をしています。
一つ目のビューのtext.fieldで入力された文字を二つ目のlabelに表示させたいです。

http://swift-ios.keicode.com/ios/passing-values-between-views.php
このサイトを参考にやっています。

発生している問題・エラーメッセージ

Method does not override any method from its superclass destinationViewController' has been renamed to 'destination' Replace 'destinationViewController' with 'destination' Variable 'viewController2' was never mutated; consider changing to 'let' Replace 'var' with 'let'

該当のソースコード

swift

1import UIKit 2 3class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 } 8 9 override func didReceiveMemoryWarning() { 10 super.didReceiveMemoryWarning() 11 // Dispose of any resources that can be recreated. 12 } 13 14 15 @IBOutlet weak var habit1: UITextField! 16 @IBOutlet weak var habit2: UITextField! 17 @IBOutlet weak var habit3: UITextField! 18 19 override func prepareForSegue (segue : UIStoryboardSegue, sender:AnyObject?) { 20 var viewController2 = segue.destinationViewController as! ViewController2 21 viewController2.text1 = habit1.text 22 } 23}

現状

このメソッドの引数として取得できる segue の destinationViewController プロパティで、画面遷移先のビューコントローラの インスタンスを取得できます。

今回は遷移先のビューコントローラクラスは上記で作成した ViewController2 であることが分かっていますので、 それへキャストしています。

as! で強制的なキャストを行っています。Swift のタイプキャストに付いては「タイプキャスト」をみてください。

以上で二個目のビューのビューコントローラへ値をセットできました。

オーバーライドできないと言われている気がしますが原因がわかりません。
かなりの初心者ですがよろしくお願いします。

補足情報(FW/ツールのバージョンなど)

Xcode Version 9.2 (9C40b)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

prepareのメソッドを新しい方法に書き換えたらこの部分はうまくいきました。
swiftは変化が早いんですね。
そしたら、また他のエラーが・・・

投稿2018/02/11 18:42

snoowty

総合スコア23

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問