Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var images = [UIImage(), UIImage(), UIImage(), UIImage(), UIImage()]
- while images.count != 0 { // Ejecuta hasta que el array de imágenes está vacío
- let i = Int(arc4random_uniform(UInt32(images.count))) // Genera un aleatorio
- imageView.image = images[i] // asigna la imagen al imageView
- images.remove(at: i) // La elimina del array
- }
- var image1 = UIImage()
- var image2 = UIImage()
- var image3 = UIImage()
- var image4 = UIImage()
- // le asigno nombres para proposito
- // de demostrarte el demo.
- image1.accessibilityIdentifier = "image1"
- image2.accessibilityIdentifier = "image2"
- image3.accessibilityIdentifier = "image3"
- image4.accessibilityIdentifier = "image4"
- var images = Images(images: [image1, image2, image3, image4])
- var randomImage1 = images.getRandomImageNotUsed()
- var randomImage2 = images.getRandomImageNotUsed()
- var randomImage3 = images.getRandomImageNotUsed()
- var randomImage4 = images.getRandomImageNotUsed()
- print(randomImage1?.accessibilityIdentifier)
- print(randomImage2?.accessibilityIdentifier)
- print(randomImage3?.accessibilityIdentifier)
- print(randomImage4?.accessibilityIdentifier)
- var randomImage5 = images.getRandomImageNotUsed()
- print(randomImage5)
- Optional("image1")
- Optional("image3")
- Optional("image4")
- Optional("image2")
- nil
- Optional("image2")
- Optional("image3")
- Optional("image4")
- Optional("image1")
- nil
- import UIKit
- struct Images {
- private var images: [UIImage]
- private var unusedImageIndexes: [Int]
- init(images: [UIImage]) {
- self.images = images
- self.unusedImageIndexes = Array(0...images.count - 1)
- }
- mutating func getRandomImageNotUsed() -> UIImage? {
- if unusedImageIndexes.count > 0 {
- let randomValue = Int(arc4random_uniform(UInt32(unusedImageIndexes.count)))
- let randomIndex = unusedImageIndexes[randomValue]
- unusedImageIndexes.remove(at: randomValue)
- return images[randomIndex]
- } else {
- return nil
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement