前提・実現したいこと
スワイプによって条件分岐を行い、それぞれの条件に合わせた画像やテキストを表示する、というアプリを作っています。
UIImageを辞書に収納し、整数をキーとしてUIImageを呼び出したいと考えています。
Assetへは、img2,img3・・・img7をインポートしています。
発生している問題・エラーメッセージ
辞書の宣言でエラーが起きてしまいました。
エラーメッセージ
「Cannot use instance member 'img2' within property initializer; property initializers run before 'self' is available」
該当のソースコード
swift
1 2import UIKit 3 4class ViewController: UIViewController { 5 6 @IBOutlet weak var basicCard: UIView! 7 @IBOutlet weak var imageView: UIImageView! 8 9 let img2 = UIImage(named:"img2")! 10 let img3 = UIImage(named:"img3")! 11 let img4 = UIImage(named:"img4")! 12 let img5 = UIImage(named:"img5")! 13 let img6 = UIImage(named:"img6")! 14 let img7 = UIImage(named:"img7")! 15 16 var img:[Int:UIImage] = 17 [ 2 : img2 , 18 3 : img3 , 19 4 : img4 , 20 5 : img5 , 21 6 : img6 , 22 7 : img7 ]
試したこと
辞書の宣言に使用している型をString:UIImageやString:Any,Int:Anyもやってみましたがインスタンスに関する同様のエラーが出ます。
他の箇所で宣言した「img2」を呼び出した際は、UIImageViewにうまく表示できていたので、定数の定義部分は問題ないと見込んでいます。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。