Поскольку Swiftlint предупреждает, когда я использую NSMakeRange, но я не знаю почему.
Спасибо за помощь :-)
Ответ 1
Единственное различие между ними состоит в том, что
NSRange(location: 0, length: 5)
является конструктором для NSRange, а
NSMakeRange(0, 5)
- это функция, которая создает новый экземпляр NSRange (наиболее вероятно, используя тот же самый конструктор), и на самом деле является избыточным в Swift, я думаю. Swift просто унаследовал его от Objective-C. Я бы придерживался прежнего
Ответ 2
Основное различие заключается в том, что
NSRange(location: 0, length: 24)
является автоматически сгенерированным методом struct init в Swift и
NSMakeRange(0, 24)
это только предопределенный макрос, который устанавливает местоположение и длину