在Swift中从整数数组创建NSIndexSet
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Swift中从整数数组创建NSIndexSet相关的知识,希望对你有一定的参考价值。
我使用https://stackoverflow.com/a/28964059/6481734的答案将NSIndexSet转换为[Int]数组我需要基本上相反,将相同类型的数组转换回NSIndexSet。
答案
Swift 3
可以使用IndexSet
直接从数组文字创建init(arrayLiteral:)
,如下所示:
let indices: IndexSet = [1, 2, 3]
Original answer (Swift 2.2)
与pbasdf's answer类似,但使用forEach(_:)
let array = [1,2,3,4,5,7,8,10]
let indexSet = NSMutableIndexSet()
array.forEach(indexSet.add) //Swift 3
//Swift 2.2: array.forEach{indexSet.addIndex($0)}
print(indexSet)
另一答案
在Swift 3中这将更容易:
let array = [1,2,3,4,5,7,8,10]
let indexSet = IndexSet(array)
哇!
另一答案
Swift 3+
let fromRange = IndexSet(0...10)
let fromArray = IndexSet([1, 2, 3, 5, 8])
添加了这个答案,因为还没有提到fromRange
选项。
另一答案
你可以使用NSMutableIndexSet
及其addIndex
方法:
let array : [Int] = [1,2,3,4,5,7,8,10]
print(array)
let indexSet = NSMutableIndexSet()
for index in array {
indexSet.addIndex(index)
}
print(indexSet)
另一答案
Swift 4.2
从现有阵列:
let arr = [1, 3, 8]
let indexSet = IndexSet(arr)
从数组文字:
let indexSet: IndexSet = [1, 3, 8]
以上是关于在Swift中从整数数组创建NSIndexSet的主要内容,如果未能解决你的问题,请参考以下文章