Search code examples
swiftnsrangeswiftlint

Difference between NSRange and NSMakeRange


Is there any difference between:

NSRange(location: 0, length: 5)

and:

NSMakeRange(0, 5)

Because Swiftlint throws a warning when I use NSMakeRange, but I don't know why.

Thanks for the Help :-)


Solution

  • The only difference between them is that

    NSRange(location: 0, length: 5)
    

    is an initializer for NSRange while

    NSMakeRange(0, 5)
    

    is a function which creates a new NSRange instance (by using the same initializer inside most likely) and actually is redundant in Swift. Swift has simply inherited it from Objective-C. I would stick to the former