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

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

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

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

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

Swift

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

Q&A

解決済

1回答

1464閲覧

swift クイズアプリ csvファイルに画像と正解番号、5択選択肢を入れてますが、画像が表示されません

tamakuri

総合スコア0

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

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

Swift

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

0グッド

0クリップ

投稿2021/08/31 07:00

前提・実現したいこと

現在swiftで5択のクイズアプリを作っています。 csvファイルから 問題画像 正解番号 選択肢 を引っ張ってきて問題画面に表示をしたいのですが、問題画像のみ表示されません。 選択肢は問題ありません。

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

Value of type 'UIImage' has no member 'image'

swift

1import UIKit 2 3class QuizViewController: UIViewController,UIScrollViewDelegate { 4 @IBOutlet weak var quizNumberLabel: UILabel! 5 @IBOutlet weak var quizTextView: UITextView! 6 7 @IBOutlet weak var answerButton1: UIButton! 8 @IBOutlet weak var AnswerButton2: UIButton! 9 @IBOutlet weak var AnswerButton3: UIButton! 10 @IBOutlet weak var AnswerButton4: UIButton! 11 @IBOutlet weak var AnswerButton5: UIButton! 12 13 @IBOutlet weak var judgeImageView: UIImageView! 14 15 16 var csvArray: [String] = [] 17 var quizArray: [String] = [] 18 var quizCount = 0 19 20 21 @IBOutlet weak var scroll: UIScrollView! 22 @IBOutlet weak var image: UIImageView! 23 24 override func viewDidLoad() { 25 super.viewDidLoad() 26 27 csvArray = loadCSV(fileName: "quiz") 28 print(csvArray) 29 30 quizArray = csvArray[quizCount].components(separatedBy: ",") 31 32 quizNumberLabel.text = "第(quizCount + 1)問" 33 34 let Path = Bundle.main.path(forResource: quizArray[0]as AnyObject as? String, ofType: nil) 35 let image : UIImage = UIImage(contentsOfFile: Path!)! 36 37 // 画像が表示されません↓ 38 image.image = (quizArray[0]) 39 answerButton1.setTitle(quizArray[2], for: .normal) 40 AnswerButton2.setTitle(quizArray[3], for: .normal) 41 AnswerButton3.setTitle(quizArray[4], for: .normal) 42 AnswerButton4.setTitle(quizArray[5], for: .normal) 43 AnswerButton5.setTitle(quizArray[6], for: .normal) 44 45 46 scroll.delegate = self 47 scroll.maximumZoomScale = 5.0 48 scroll.minimumZoomScale = 1.0 49 50} 51 func viewForZooming(in sclool:UIScrollView) -> UIView? { 52 53 return image} 54 55 //ボタンを押したときに呼ばれる 56 @IBAction func btnAction(sender: UIButton){ 57 if sender.tag == Int(quizArray[1]){ 58 print("正解") 59 } else { 60 print("不正解") 61 } 62 nextQuiz() 63 64 } 65 66 func nextQuiz() { 67 quizCount += 1 68 quizArray = csvArray[quizCount].components(separatedBy: ",") 69 70 quizNumberLabel.text = "第(quizCount + 1)問" 71 72   //ここに次の画像に行ける、コードが欲しいのですがわかりません 73 74 answerButton1.setTitle(quizArray[2], for: .normal) 75 AnswerButton2.setTitle(quizArray[3], for: .normal) 76 AnswerButton3.setTitle(quizArray[4], for: .normal) 77 AnswerButton4.setTitle(quizArray[5], for: .normal) 78 AnswerButton5.setTitle(quizArray[6], for: .normal) 79 80 81 } 82 83 func loadCSV(fileName: String) -> [String] { 84 let csvBundle = Bundle.main.path(forResource: fileName, ofType: "csv")! 85 do { 86 let csvDate = try String(contentsOfFile: csvBundle, encoding: String.Encoding.utf8) 87 let lineChange = csvDate.replacingOccurrences(of: "\r", with: "\n") 88 csvArray = lineChange.components(separatedBy: "\n") 89 csvArray.removeLast() 90 }catch{ 91 print("エラ〜") 92 } 93 return csvArray 94 } 95 96 97

試したこと

色々と検索したり探したのですが、どうしても画像が入らず。。。。
また、次の問題に進むときに画像をまたcsvファイルの2段目にちゃんと移動したいです。
そもそもの画像は別ファイルにまとめて入れております。

csvファイルは

kougai1.png,1,1,2,3,4,5
kougai2.png,1,1,2,3,4,5
kougai3.png,1,1,2,3,4,5
kougai4.png,1,1,2,3,4,5
kougai5.png,1,1,2,3,4,5

最初にpng画像、正解番号 5択 です  この画像がうまくImageViewに反映されません

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

ここにより詳細な情報を記載してください。

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

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

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

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

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

hoshi-takanori

2021/08/31 07:06

image.image = 〜 じゃなくて、judgeImageView.image = 〜 では。
tamakuri

2021/08/31 07:16

judgeimageViewは○と✖️を表示させるものでまた別なのです・・・・ image というものに表示させたいのです。 ややこしくてすいません!
hoshi-takanori

2021/08/31 07:34

ごめんなさい、見落としてました。そして、image という同じ名前のプロパティとローカル変数があるのが問題ですね。
tamakuri

2021/08/31 08:08

なるほど!! 一旦名前変えてみます!
tamakuri

2021/08/31 08:18

image をとりあえず gazouimage に変えましたが特に変化はないようです。
guest

回答1

0

自己解決

Array の表記間違いを見つけました。

お騒がせいたしました。

投稿2021/09/06 15:20

tamakuri

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問