aur*_*n31 25 nsrange swift swiftlint
之间有什么区别:
NSRange(location: 0, length: 5)
Run Code Online (Sandbox Code Playgroud)
和:
NSMakeRange(0, 5)
Run Code Online (Sandbox Code Playgroud)
因为Swiftlint我使用时会发出警告NSMakeRange,但我不知道为什么.
谢谢您的帮助 :-)
And*_*kha 32
他们之间的唯一区别是
NSRange(location: 0, length: 5)
Run Code Online (Sandbox Code Playgroud)
是一个构造NSRange,而
NSMakeRange(0, 5)
Run Code Online (Sandbox Code Playgroud)
是一个创建新NSRange实例的函数(通过最有可能使用相同的构造函数),实际上Swift我认为是多余的.Swift简单地从中继承了它Objective-C.我会坚持前者
主要区别在于
NSRange(location: 0, length: 24)
Run Code Online (Sandbox Code Playgroud)
是 Swift 中自动生成的 struct init 方法和
NSMakeRange(0, 24)
Run Code Online (Sandbox Code Playgroud)
只是一个设置位置和长度的预定义宏
NS_INLINE NSRange NSMakeRange(NSUInteger loc, NSUInteger len) {
NSRange r;
r.location = loc;
r.length = len;
return r;
}
Run Code Online (Sandbox Code Playgroud)
一般来说,结果是一样的,但如果你是 Swift 使用第一个,如果你正在编写 ObjC 代码使用第二个 ;)
| 归档时间: |
|
| 查看次数: |
3193 次 |
| 最近记录: |