Podobno przed Swift 3, Range<String.Index>
miał właściwość count
. Podczas migracji do Swift 3 zauważyłem, że ten count
właściwość jest teraz zniknął. W jaki sposób obliczyć odległość między 2 String.Index
es w Swift 3?Oblicz range liczyć w Swift 3
8
A
Odpowiedz
12
Od Swift 3 wszystkie obliczenia indeksu wykonuje sama kolekcja, porównaj SE-0065 – A New Model for Collections and Indices w ewolucji Swift.
przykład:
let string = "abc 1234 def"
if let range = string.range(of: "\\d+", options: .regularExpression) {
let count = string.distance(from: range.lowerBound, to: range.upperBound)
print(count) // 4
}
Właściwie String
jest nie zbiór Swift 3, lecz ma te same metody, jak również i są przekazywane do strun CharacterView
. uzyskać ten sam rezultat z
let count = string.characters.distance(from: range.lowerBound, to: range.upperBound)
Od Swift 4, łańcuchy są kolekcje (ponownie).
Powiązane problemy
- 1. Nie można utworzyć zakres w Swift 3
- 2. Korzystanie z operatora Range w Data.subdata
- 3. Uwijanie Uibutton w Swift 3
- 4. componentsSeparatedByString() Błąd w Swift 3
- 5. Gest przesuń w Swift 3
- 6. Wdrożenie layoutAttributesClass() w Swift 3
- 7. NSLocale Swift 3
- 8. UIView.animate - Swift 3 - zakończenie
- 9. Swift 3: atomic_compare_exchange_strong
- 10. Przeciągnij UIView Swift 3
- 11. Swift 3: Rysowanie prostokąta
- 12. swift 3, PHFetchResult.enumerateObjects error
- 13. managedObjectContext in Swift 3
- 14. Swift 3 i CGContextDrawImage
- 15. Shuffle array swift 3
- 16. Swift 3 UIView animacja
- 17. Oblicz różnicę między dwiema datami w smarty 3 szablon prestashop
- 18. itertools.tee odpowiednik w Boost :: Range?
- 19. Konwersja Swift tablicę CFArray w Xcode 8 (Swift 3)
- 20. Swift 3 i NumberFormatter (.currency) == ¤?
- 21. Swift 3, switch, sprawa hasPrefix
- 22. Swift 3 czasowy nie wypalanie
- 23. Swift 3 wydanie strefy czasowej
- 24. Swift 3 Alamofire multipart upload
- 25. Programowo Screenshot | Swift 3, macOS
- 26. URLResourceValue i setResourceValues Swift 3
- 27. Swift 3 NSCache nie działa
- 28. Swift 3 błąd [_SwiftValue nsli_superitem]
- 29. Iterowanie wzdłuż słownika w Swift 3
- 30. Jak napisać informację klawiaturowe w Swift 3