Difference between NSRange and NSMakeRange
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
Main difference is that
NSRange(location: 0, length: 24)
is auto-generated struct init method in Swift and
NSMakeRange(0, 24)
is just a predefined macro that setts location and length
NS_INLINE NSRange NSMakeRange(NSUInteger loc, NSUInteger len) {
NSRange r;
r.location = loc;
r.length = len;
return r;
}
In general, result is the same, but if you're Swift use first one and if you're writing ObjC code use second ;)