J'ai converti un NSIndexSet en un tableau [Int] en utilisant la réponse à https://stackoverflow.com/a/28964059/6481734 Je dois le faire essentiellement au contraire, reconvertir le même type de tableau en un NSIndexSet.
IndexSet
peut être créé directement à partir d'un littéral de tableau à l'aide de init(arrayLiteral:)
, comme suit:
let indices: IndexSet = [1, 2, 3]
Similaire à réponse de pbasdf , mais utilise 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)
Ce sera beaucoup plus facile dans Swift 3:
let array = [1,2,3,4,5,7,8,10]
let indexSet = IndexSet(array)
Hou la la!
Swift 3 +
let fromRange = IndexSet(0...10)
let fromArray = IndexSet([1, 2, 3, 5, 8])
Ajout de cette réponse car l'option fromRange
n'a pas encore été mentionnée.
Swift 4.2
De tableau existant:
let arr = [1, 3, 8]
let indexSet = IndexSet(arr)
Du tableau littéral:
let indexSet: IndexSet = [1, 3, 8]
Vous pouvez utiliser NSMutableIndexSet
et sa méthode 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)