前提・実現したいこと
現在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/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件