🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Swift

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

Q&A

解決済

1回答

584閲覧

Swift、xcode   imageView を押したときに画面の遷移とそのimageview の画像が遷移先の画面に反映される。

dai01

総合スコア1

Swift

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

0グッド

0クリップ

投稿2020/12/08 15:17

前提・実現したいこと

imageView を押したときに画面の遷移とそのimageview の画像が遷移先の画面に反映されるようにしたいのですが、以下のようなエラーが出てしまいます。

一度試してみたコードをもとに作成したのですが、元のコードは正常に動くのますが、新しくプロジェクトを作成してこれを元に作ってみたのですがうまくいかない状態です。

エラーメッセージ Thread 1: "[<growanimal.growAniViewController 0x7f7f4fd1a7c0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key mainAni."

該当のソースコード

import UIKit import SpriteKit class mainViewController: UIViewController { @IBOutlet weak var mainAni: UIImageView! var timer: Timer!//タイマー // タイマー用の時間のための変数 var timer_sec: Float = 0 //画像データ let image1:UIImage = UIImage(named: "1.png")! let image2:UIImage = UIImage(named: "2.png")! let image3:UIImage = UIImage(named: "3.png")! let image4:UIImage = UIImage(named: "4.png")! let image5:UIImage = UIImage(named: "5.png")! var images: [UIImage] = [] override func viewDidLoad() { super.viewDidLoad() images = [image1, image2, image3, image4,image5] mainAni.isUserInteractionEnabled = true mainAni.image = image1 } @IBAction func selectAni(_ sender: Any) { self.performSegue(withIdentifier: "Segue1", sender: nil) } @objc func tapped(_ sender: UITapGestureRecognizer){ self.performSegue(withIdentifier: "Segue1", sender: nil) } var index = 0 var tappedImage :UIImage? //時間の経過とともに行う処理 @objc func updateTimer(_ timer: Timer) { self.timer_sec += 2 index += 1 if index >= images.count{ index = 0 } mainAni.image = images[index] } //ボタン系 @IBOutlet weak var nextButton: UIButton! @IBAction func nextButton(_ sender: Any) { index += 1 if index >= images.count{ index = 0 } mainAni.image = images[index] } @IBOutlet weak var backButton: UIButton! @IBAction func backButton(_ sender: Any) { index -= 1 if index < 0{ index = 2 } mainAni.image = images[index] } //選択した動物を次の画面に出す override func prepare(for segue: UIStoryboardSegue, sender: Any?) { // segueから遷移先のResultViewControllerを取得する if segue.identifier == "Segue1"{ let displayPhoto:growAniViewController = segue.destination as! growAniViewController // 遷移先のResultViewControllerで宣言しているx, yに値を代入して渡す displayPhoto.selectedAni = self.mainAni.image! } } }

試したこと

同じ動作のコードを元に確認したのですが、未熟な私にはわかりませんでした。

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

swift

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

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

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

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

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

guest

回答1

0

ベストアンサー

mainAni が存在しません。接続を確認してください。

投稿2020/12/23 07:12

errolizer

総合スコア441

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問