TSRandomTextPicker.swift 571 B

123456789101112131415161718192021222324252627
  1. //
  2. // TSRandomTextPicker.swift
  3. // AIEmoji
  4. //
  5. // Created by 100Years on 2025/2/20.
  6. //
  7. class TSRandomTextPicker {
  8. private var texts: [String]
  9. private var lastIndex: Int?
  10. init(texts: [String]) {
  11. self.texts = texts
  12. }
  13. func getRandomText() -> String? {
  14. guard !texts.isEmpty else { return nil }
  15. var randomIndex: Int
  16. repeat {
  17. randomIndex = Int.random(in: 0..<texts.count)
  18. } while randomIndex == lastIndex
  19. lastIndex = randomIndex
  20. return texts[randomIndex]
  21. }
  22. }