次の内容でどうでしょうか?
申し訳ありませんが、動作確認はしておりません。
また、UIImage(named: name) は
メモリリークの可能性があるため
UIImage(contentsOfFile: imagePath) の使用を検討しても良いかもしれません。
Swift
1//A → B → A の順番を許容するパターン
2
3@IBOutlet weak var imageView: UIImageView!
4
5@IBAction func action(_ sender: Any) {
6
7 var targetNum = Int.random(in: 0..<5)
8 while(targetNum == dispImageNo){
9 var targetNum = Int.random(in: 0..<5)
10 }
11
12 dispImageNo = targetNum
13 displayImage()
14}
15
16
17 var dispImageNo = 0
18
19func displayImage(){
20
21 let imageNameArray = [
22 "image01",
23 "image02",
24 "image03",
25 "image04",
26 "image05"
27 ]
28
29 //let testtest = imageNameArray.shuffled() //コメントアウト
30 //let name = testtest[dispImageNo] //コメントアウト
31 let name = imageNameArray[dispImageNo] //追加
32 let image = UIImage(named: name) //追加
33 imageView.image = image
34}
35
36override func viewDidLoad() {
37 super.viewDidLoad()
38 //let image = UIImage(named: "image01") //コメントアウト
39 //imageView.image = image //コメントアウト
40
41 let imageNameArray = [
42 "image01",
43 "image02",
44 "image03",
45 "image04",
46 "image05"
47 ] //追加
48 var dispImageNo = Int.random(in: 0..<5) //追加
49 let name = imageNameArray[dispImageNo] //追加
50 let image = UIImage(named: name) //追加
51 imageView.image = image //追加
52}
Swift
1//A → B → A の順番を許容しないパターン
2
3@IBOutlet weak var imageView: UIImageView!
4
5@IBAction func action(_ sender: Any) {
6
7 dispImageNo += 1
8 if dispImageNo < 5{
9 displayImage()
10 }else if dispImageNo >= 5{ // 5の時変化しなくなるため、大なりイコールに修正
11 performSegue(withIdentifier: "toranpu", sender: nil)
12 }
13}
14
15
16 var dispImageNo = 0
17 var testtest: [String] = []
18
19func displayImage(){
20
21 /* コメントアウト
22 let imageNameArray = [
23 "image01",
24 "image02",
25 "image03",
26 "image04",
27 "image05"
28 ]
29 */
30
31 //let testtest = imageNameArray.shuffled() //コメントアウト
32 let name = testtest[dispImageNo]
33 let image = UIImage(named: name)
34 imageView.image = image
35}
36
37override func viewDidLoad() {
38 super.viewDidLoad()
39 //let image = UIImage(named: "image01") //コメントアウト
40 //imageView.image = image //コメントアウト
41
42 let imageNameArray = [
43 "image01",
44 "image02",
45 "image03",
46 "image04",
47 "image05"
48 ] //追加
49
50 testtest = imageNameArray.shuffled() //追加
51 let name = testtest[dispImageNo] //追加
52 let image = UIImage(named: name) //追加
53 imageView.image = image //追加
54}