Проверка шаблона шины для iOS
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

Bus.Aux.swift 661B

il y a 10 mois
123456789101112131415161718192021222324252627282930
  1. extension Bus {
  2. /// Пропускаем далее предоставленные ключи.
  3. static func convertKeyValue<T>(
  4. _ keys: Set<String>,
  5. _ v: (key: String, value: Any)
  6. ) -> (String, T)? {
  7. guard
  8. keys.contains(v.key),
  9. let value = v.value as? T
  10. else {
  11. return nil
  12. }
  13. return (v.key, value)
  14. }
  15. /// Обрабатываем.
  16. static func processKeyValue<Src, Dst>(
  17. _ v: (key: String, value: Any),
  18. _ keyIn: String,
  19. _ handler: @escaping ((Src) -> Dst?)
  20. ) -> Dst? {
  21. guard
  22. v.key == keyIn,
  23. let vIn = v.value as? Src
  24. else {
  25. return nil
  26. }
  27. return handler(vIn)
  28. }
  29. }