跟踪Swift相当于:
时遇到一些麻烦//timeArray and locationArray are NSMutableArrays
NSRange removalRange = NSMakeRange(0, i);
[timeArray removeObjectsInRange:removalRange];
[locationArray removeObjectsInRange:removalRange];
我看到Swift确实在API中有一个电话:typealias NSRange = _NSRange
但我还没有超过那个部分。有什么帮助吗?
答案 0 :(得分:27)
除了安东尼奥的回答之外,您还可以使用范围运算符:
var array = [0, 1, 2, 3, 4, 5]
array.removeRange(1..<3)
// array is now [0, 3, 4, 5]
1..<3
)包括1,最多但不包括3(所以1-2)。1...3
)包括3(所以1-3)。答案 1 :(得分:4)
使用swift数组的removeRange
方法,这需要Range
结构的一个实例来定义范围:
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)
或更简洁:
array.removeSubrange(0..<1)