OrderedSet es esencialmente el equivalente Swift de NSOrderedSet/NSMutableOrderedSet de Foundation. Se creó para que Swift tuviera una colección única y ordenada con un rendimiento de búsqueda rápido que admitiera una escritura fuerte a través de genéricos, y para que pudiéramos almacenar estructuras y enumeraciones de Swift en ella.
OrderedSet funciona de forma muy parecida a un Array. A continuación se muestran algunos ejemplos básicos de su uso:
var set = OrderedSet < Int > ( )
set . append ( 1 )
set . contains ( 1 ) // => true
set [ 0 ] = 2
set [ 0 ] // => 2
set . insert ( 3 , at : 0 )
set // => [3, 2]
set = [ 1 , 2 , 3 ] // OrderedSet's support array literals
set // => [1, 2, 3]
set += [ 3 , 4 ] // You can concatenate any sequence type to an OrderedSet
set // => [1, 2, 3, 4] (Since 3 was already in the set it was not added again)
También se recomienda utilizar los métodos de instancia cuando sea posible en lugar de los métodos Swift globales para buscar un OrderedSet. Por ejemplo, el método Swift.contains(haystack,needle) enumerará OrderedSet en lugar de utilizar la implementación de búsqueda rápida que realizará el método OrderedSet.contains(needle).
Asegúrese de consultar las pruebas unitarias para ver las diferentes formas de interactuar con un OrderedSet en acción. También puede consultar el proyecto de muestra, que modifica el proyecto maestro/detalle predeterminado para usar un OrderedSet en lugar de un Array.
OrderedSet es un único archivo Swift en el directorio Fuentes. Puede copiar ese archivo en su proyecto o usarlo a través de CocoaPods agregando la siguiente línea a su Podfile:
pod 'OrderedSet' , '5.0'
o utilizar a través de Cartago añadiendo
github "Weebly/OrderedSet"
a su Cartfile e incrustando OrderedSet.framework en su aplicación.
Y luego agregue la siguiente importación donde desee usar OrderedSet:
import OrderedSet
Usando SwiftPM:
package . append ( . package ( url : " https://github.com/Weebly/OrderedSet.git " , . upToNextMajor ( from : " 5.0.0 " ) ) )
OrderedSet está disponible bajo la licencia MIT. Consulte el archivo de LICENCIA para obtener más información.
Nos encantaría contar con su ayuda para mejorar OrderedSet. Siéntete libre de