Swift等价的removeObjectsInRange:

Jee*_*eef 14 objective-c swift

跟踪Swift相当于以下内容时遇到一些麻烦:

//timeArray and locationArray are NSMutableArrays
NSRange removalRange = NSMakeRange(0, i);

[timeArray removeObjectsInRange:removalRange];
[locationArray removeObjectsInRange:removalRange];
Run Code Online (Sandbox Code Playgroud)

我看到Swift确实在API中有一个调用: typealias NSRange = _NSRange但我没有超过那个部分.有帮助吗?

Aar*_*ger 27

除了Antonio的回答,您还可以使用范围运算符:

var array = [0, 1, 2, 3, 4, 5]
array.removeRange(1..<3)
// array is now [0, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)
  • 半闭范围运算符(1..<3)包括1,最多但不包括3(所以1-2).
  • 全范围运算符(1...3)包括3(所以1-3).

  • +1这是一个更紧凑的版本,建议在不重复使用范围时 (2认同)