Objective c removeObjectsInRange的Swift等价物:

Objective c removeObjectsInRange的Swift等价物:,objective-c,swift,Objective C,Swift,追踪Swift等价物有点困难: //timeArray and locationArray are NSMutableArrays NSRange removalRange = NSMakeRange(0, i); [timeArray removeObjectsInRange:removalRange]; [locationArray removeObjectsInRange:removalRange]; 我看到Swift在API中确实有一个调用:typealias NSRange=\u

追踪Swift等价物有点困难:

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

[timeArray removeObjectsInRange:removalRange];
[locationArray removeObjectsInRange:removalRange];

我看到Swift在API中确实有一个调用:
typealias NSRange=\u NSRange
,但我还没有通过这一部分。有任何帮助吗?

使用swift数组的
removeRange
方法,该方法需要
范围
结构的实例来定义范围:

var array = [1, 2, 3, 4]

let range = Range(start: 0, end: 1)
array.removeRange(range)
此代码删除从索引0(包括)到索引1(不包括)的所有数组元素

Swift 3

正如@bitsand所建议的,上述代码已被弃用。它可以替换为:

let range = 0..<1
array.removeSubrange(range)

让range=0..除了Antonio的答案,您还可以使用range操作符:

var array = [0, 1, 2, 3, 4, 5]
array.removeRange(1..<3)
// array is now [0, 3, 4, 5]
var数组=[0,1,2,3,4,5]

array.removeRange(1..什么是1..+1这是一个更紧凑的版本,当范围不在reused@Jeef:在-1..@Jeef扩展答案中对此进行了解释。另请参阅。有关更好或更糟的信息,Swift 3中不推荐使用init(开始:结束:),Xcode提供的警告建议使用“。。
var array = [0, 1, 2, 3, 4, 5]
array.removeRange(1..<3)
// array is now [0, 3, 4, 5]