swift - NSRange 和 NSMakeRange 的区别

标签 swift nsrange swiftlint

有什么区别:

NSRange(location: 0, length: 5)

和:

NSMakeRange(0, 5)

因为 Swiftlint 在我使用 NSMakeRange 时抛出警告,但我不知道为什么。

感谢您的帮助:-)

最佳答案

它们之间唯一的区别是

NSRange(location: 0, length: 5)

NSRange 的初始化器,而

NSMakeRange(0, 5)

是一个函数,它创建一个新的 NSRange 实例(很可能通过在内部使用相同的初始化程序)并且实际上在 Swift 中是多余的。 Swift 只是从 Objective-C 继承了它。我会坚持前者

关于swift - NSRange 和 NSMakeRange 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44522626/

相关文章:

xcode - 将 Swifter 框架安装到 Xcode

ios - Binding Protocols with Associated Objects - 使用 Swift 进行面向协议(protocol)的编程

iphone - 使NSRangeException越界崩溃

homebrew - 如何安装特定版本的 swiftlint?

ios - 如何检查 subview Controller 是否存在

swift - 为 UIButton 调用发送者的方法

cocoa - @selector 的语法

swift - 将 Objective-C 中的 NSRange 转换为 Swift

swift - 遗留构造函数违规 : Swift constructors are preferred over legacy convenience functions. (legacy_constructor)

swift - (SwiftLint)如果有主体,如何在 "\n"之后始终为 "{"(新行)编写规则(也许是自定义)?