Q&A
前提
ここに質問の内容を詳しく書いてください。
まず画像を表示させて最後の画像に来たときに、最初の画像に戻すというコードは書けて成功したのですが、最後の画像に来たら次のviewcontrollewに行くという処理が範囲外になってしまいます。
実現したいこと
このエラーの改善
発生している問題・エラーメッセージ
Index out of range
該当のソースコード
swift
ソースコード
まずは画像を全て表示し終えたら、最初の画像に戻るというコードでこちらは成功しました。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
@IBAction func action(_ sender: Any) { dispImageNo += 1 displayImage() } var dispImageNo = 0 func displayImage() { let imageNameArray = [ "image01", "image02", "image03", ] if dispImageNo > 2 { disImageNo = 0 } let name = imageNameArray[dispImageNo] let image = UIImage(named: name) imageView.image = image } override func viewDidLoad() { super.viewDidLoad() let image = UIImage(named: "image03") imageView.image = image // Do any additional setup after loading the view. }
}
次に失敗した次のViewcontrollerにいく処理では、if文のなかだけ performSegue(withIdentifier: "toranpu", sender: nil)というコードにしましたが、Index out of rangeになってしまいます。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
@IBAction func action(_ sender: Any) { dispImageNo += 1 displayImage() } var dispImageNo = 0 func displayImage() { let imageNameArray = [ "image01", "image02", "image03", ] if dispImageNo > 2 { performSegue(withIdentifier: "toranpu", sender: nil) } let name = imageNameArray[dispImageNo] let image = UIImage(named: name) imageView.image = image } override func viewDidLoad() { super.viewDidLoad() let image = UIImage(named: "image03") imageView.image = image // Do any additional setup after loading the view. }
}
試したこと
色々試しましたが、ダメでした、、
補足情報(FW/ツールのバージョンなど)
初心者ですが、よろしくお願いします。
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。