私のアプリプロジェクトでは、自分の画像をランダムに107個表示しています。私はすべての画像を配列に入れるforループを設定しています。私はその配列をとり、ランダムなインデックスを選択します。そのインデックスは画像と相関し、ユーザーが左にスワイプするとその画像が画面に表示されます。私の質問は、すべての(またはアプリケーションを閉じるまでの金額)がランダムに選択されるまで、私のコードが配列内で同じインデックスを繰り返さないようにすることです。ここに私のコードはランダムなUIImagesを生成しないでください
class ViewController: UIViewController {
var pictureArray: [String] = []
@IBOutlet weak var quoteImage: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
for i in 0...107{
pictureArray.append("quote\(i).jpg")
print(pictureArray)
}
// Do any additional setup after loading the view, typically from a nib.
let swipeRecognizer = UISwipeGestureRecognizer(target: self, action: #selector (changeQuotes))
swipeRecognizer.direction = UISwipeGestureRecognizerDirection.left
self.view.addGestureRecognizer(swipeRecognizer)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override var prefersStatusBarHidden: Bool{
return true
}
@objc func changeQuotes(){
let numberOfImages: UInt32 = 107
let randomIndex = Int(arc4random_uniform(UInt32(pictureArray.count)))
let imageName = "\(pictureArray[randomIndex])"
print(imageName)
quoteImage.image = UIImage(named: imageName)
}
}
ありがとう!
ランダムに配列を使用する.dropFirst()または.dropLast()? – koropok
繰り返しのない配列を検索しましたか?なぜあなたは質問タイトルで「UIImage」まで絞り込んでいますか?すべての選択肢が悪い – dfd