Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.92 KB | None | 0 0
  1. var images = [UIImage(), UIImage(), UIImage(), UIImage(), UIImage()]
  2.  
  3. while images.count != 0 { // Ejecuta hasta que el array de imágenes está vacío
  4.  
  5. let i = Int(arc4random_uniform(UInt32(images.count))) // Genera un aleatorio
  6. imageView.image = images[i] // asigna la imagen al imageView
  7. images.remove(at: i) // La elimina del array
  8.  
  9. }
  10.  
  11. var image1 = UIImage()
  12. var image2 = UIImage()
  13. var image3 = UIImage()
  14. var image4 = UIImage()
  15.  
  16. // le asigno nombres para proposito
  17. // de demostrarte el demo.
  18. image1.accessibilityIdentifier = "image1"
  19. image2.accessibilityIdentifier = "image2"
  20. image3.accessibilityIdentifier = "image3"
  21. image4.accessibilityIdentifier = "image4"
  22.  
  23. var images = Images(images: [image1, image2, image3, image4])
  24.  
  25. var randomImage1 = images.getRandomImageNotUsed()
  26. var randomImage2 = images.getRandomImageNotUsed()
  27. var randomImage3 = images.getRandomImageNotUsed()
  28. var randomImage4 = images.getRandomImageNotUsed()
  29.  
  30. print(randomImage1?.accessibilityIdentifier)
  31. print(randomImage2?.accessibilityIdentifier)
  32. print(randomImage3?.accessibilityIdentifier)
  33. print(randomImage4?.accessibilityIdentifier)
  34.  
  35. var randomImage5 = images.getRandomImageNotUsed()
  36. print(randomImage5)
  37.  
  38. Optional("image1")
  39. Optional("image3")
  40. Optional("image4")
  41. Optional("image2")
  42. nil
  43.  
  44. Optional("image2")
  45. Optional("image3")
  46. Optional("image4")
  47. Optional("image1")
  48. nil
  49.  
  50. import UIKit
  51.  
  52. struct Images {
  53. private var images: [UIImage]
  54. private var unusedImageIndexes: [Int]
  55.  
  56. init(images: [UIImage]) {
  57. self.images = images
  58. self.unusedImageIndexes = Array(0...images.count - 1)
  59. }
  60.  
  61. mutating func getRandomImageNotUsed() -> UIImage? {
  62. if unusedImageIndexes.count > 0 {
  63. let randomValue = Int(arc4random_uniform(UInt32(unusedImageIndexes.count)))
  64. let randomIndex = unusedImageIndexes[randomValue]
  65.  
  66. unusedImageIndexes.remove(at: randomValue)
  67.  
  68. return images[randomIndex]
  69. } else {
  70. return nil
  71. }
  72. }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement