Swift strings have changed in every release since the language was first announced, but even after so much change its older counterpart,
NSRange, still appears in many UIKit APIs.
Fortunately, Swift 4 introduced a simple way to convert any
NSRange into a regular Swift
Range. For example, say you had the following string and range:
let input = "Hello, world" let range = NSMakeRange(0, 10)
To make that into a Swift
Range instance you just need this single line of code:
let swiftRange = Range(range, in: input)
Available from iOS 7.0
Did this solution work for you? Please pass it on!
Other people are reading…
About the Swift Knowledge Base
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Love Hacking with Swift?
Get all 40 projects in PDF and HTML: buy the Hacking with Swift book! It contains over 1300 pages of hands-on Swift coding, and will really help boost your iOS career