strings declarar characters ios swift2 nsarray nsindexset

ios - declarar - substring swift 5



Crear NSIndexSet a partir de una matriz entera en Swift (5)

Swift 3

IndexSet se puede crear directamente desde un literal de matriz usando init(arrayLiteral:) , de esta manera:

let indices: IndexSet = [1, 2, 3]

Respuesta original (Swift 2.2)

Similar a la respuesta de pbasdf , pero usa 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)

Convertí un NSIndexSet a una matriz [Int] usando la respuesta en https://stackoverflow.com/a/28964059/6481734 Necesito hacer esencialmente lo contrario, convirtiendo el mismo tipo de matriz en un NSIndexSet.


Esto será mucho más fácil en Swift 3:

let array = [1,2,3,4,5,7,8,10] let indexSet = IndexSet(array)

¡Guauu!


Puede usar un NSMutableIndexSet y su método 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 3+

let fromRange = IndexSet(0...10) let fromArray = IndexSet([1, 2, 3, 5, 8])

Se agregó esta respuesta porque la opción fromRange aún no se mencionó.


Swift 4.2

De la matriz existente:

let arr = [1, 3, 8] let indexSet = IndexSet(arr)

De la matriz literal:

let indexSet: IndexSet = [1, 3, 8]