Swift – Diccionario

Swift es un lenguaje de programación diseñado para trabajar con los frameworks Cocoa y Cocoa Touch de Apple. Está destinado a ser una alternativa moderna, segura y flexible a Objective-C. Está construido pensando en la comunidad de código abierto y es desarrollado activamente por miembros de la comunidad de Swift. Swift es una alternativa moderna, segura y flexible a Objective-C.

Swift tiene algo llamado diccionarios, que es una colección de pares clave-valor. Estas colecciones de pares clave-valor se denominan diccionarios. Es una colección desordenada de pares clave-valor. En el diccionario, un identificador único se conoce como clave y una clave almacena un valor. Cuando un diccionario se asigna a una variable, eso significa que el diccionario es mutable (se puede modificar), pero cuando el diccionario se asigna a una constante, entonces es inmutable (no se puede modificar). En un diccionario, una clave puede ser de cualquier tipo con string, entero, etc. En este artículo, aprenderemos sobre el tipo de colección de diccionario en Swift.

Creando un diccionario

En Swift, un diccionario es una colección de pares clave-valor. Podemos utilizar cualquier tipo de dato como clave y cualquier tipo de dato como valor. Podemos crear un diccionario usando la sintaxis (clave:valor). Una clave siempre debe ser un solo elemento. Pero un valor puede ser un solo elemento o una colección de elementos, como una array o un diccionario. Para crear un diccionario, usamos la siguiente sintaxis:

Sintaxis:

var algúnDiccionario = [keyType: valueType](key : value)

Aquí, keyType y valueType son los tipos de claves y valores en el diccionario y están separados por dos puntos.

Ejemplo:

Swift

// Swift program to create a dictionary
var someDictionary: [String: String] = ["fruit": "Apple", "vegetable": "Carrot"]
 
// Displaying key-value pair
print(someDictionary)

Producción:

["vegetable": "Carrot", "fruit": "Apple"]

Crear un diccionario vacío

Un diccionario vacío es un diccionario sin pares clave-valor. Un diccionario vacío no tiene ningún valor inicial. Se puede utilizar para almacenar datos en pares clave-valor. Actúa como un contenedor para almacenar datos. Para crear un diccionario vacío, utilice la siguiente sintaxis:

Sintaxis:

var diccionariovacío = [tipoclave: tipovalor][:]

Aquí, keyType y valueType son los tipos de claves y valores en el diccionario. Y el ([:]) es un literal de diccionario vacío que se usa para crear un diccionario vacío.

Cambiar el valor de Diccionario 

En Swift, podemos cambiar los valores del diccionario usando []. El corchete [] cambia el valor asociado con la clave dada en el diccionario. Del mismo modo, también puede agregar un nuevo par clave-valor en el diccionario. Si la clave dada no está presente, ese par de clave y valor se agregan al diccionario.

Sintaxis:

Dictionary_name[clave] = valor 

Ejemplo:

Swift

// Swift program to change the value of dictionary
 
// Creating a dictionary
var someDictionary = ["one": "Mohit", "two": "Rohit",
                      "three": "Tony"]
 
// Displaying dictionary
print("Original dictionary: ", someDictionary)
 
// Changing the value of dictionary
someDictionary["two"] = "Priya"
 
// Displaying dictionary
print("Updated dictionary: ", someDictionary)

Producción:

Original dictionary:  ["two": "Rohit", "one": "Mohit", "three": "Tony"]
Updated dictionary:  ["two": "Priya", "one": "Mohit", "three": "Tony"]

Acceso a los elementos del Diccionario

En el diccionario, podemos acceder fácilmente a la clave y los valores por separado.

1. Claves de acceso

Para acceder a las claves de un diccionario usamos la propiedad keys . Esta propiedad devuelve todas las claves del diccionario.

Sintaxis:

Dictionary_name.keys

Ejemplo:

Swift

// Swift program to accessing keys of dictionary
 
// Creating a dictionary
var someDictionary = ["one": "Mohit", "two": "Rohit",
                      "three": "Tony"]
 
// Accessing all the keys from the dictionary
// Using keys property
var result = Array(someDictionary.keys)
 
// Displaying keys
print("Keys:", result)

Producción:

Keys: ["two", "three", "one"]

2. Acceder a valores

Para acceder a los valores de un diccionario usamos la propiedad de valores . Esta propiedad devuelve todos los valores del diccionario.

Sintaxis:

Nombre_diccionario.valores

Ejemplo:

Swift

// Swift program to accessing values of dictionary
 
// Creating a dictionary
var someDictionary = ["one": "Mohit", "two": "Rohit",
                      "three": "Tony"]
 
// Accessing all the values from the dictionary
// Using values property
var result = Array(someDictionary.values)
 
// Displaying values
print("Values:", result)

Producción:

Values: ["Tony", "Mohit", "Rohit"]

Iterando sobre un diccionario

A veces necesitamos iterar sobre un diccionario, y no es factible usar subíndices manualmente para acceder al valor de una clave para cada par clave-valor en el diccionario. Entonces podemos usar un bucle for-in para iterar sobre el diccionario. Recuerde que no se garantiza que el orden de los pares clave-valor en el diccionario sea el mismo que el orden en que se insertaron.

Sintaxis:

para (clave, valor) en algúnDiccionario {}

Ejemplo:    

Swift

// Swift program to iterating over a dictionary
 
// Creating a dictionary
var someDictionary = ["one": "Mohit", "two": "Rohit",
                      "three": "Tony"]
 
// Iterate over dictionary
// Using for-in loop
for (key, value) in someDictionary
{
 
    // Print key and value
    print("\(key): \(value)")
}

Producción:

three: Tony
one: Mohit
two: Rohit

Creación de un diccionario a partir de una array 

Si tenemos dos arrays del mismo tamaño y queremos fusionarlas para formar un diccionario con la clave como la primera array y el valor como la segunda array, puede hacerlo en Swift. El tamaño de ambas arrays debe ser el mismo. 

Sintaxis:

var algúnDiccionario = Diccionario(únicasClavesConValores: zip(algunArray, algunArray2))

Aquí, array1 es la clave y array2 es el valor. Entonces, la sintaxis anterior creará un diccionario con clave como array1 y valor como array2

Ejemplo:

Swift

// Swift program to create a dictionary from an array
 
// Creating arrays
var someArray = ["one", "two", "three"] 
var someArray2 = ["Mohit", "Rohit", "Tony"]
 
// Creating a dictionary from an array
var someDictionary = Dictionary(uniqueKeysWithValues: zip(
                     someArray, someArray2))
 
// Displaying the dictionary
print(someDictionary)

Producción:

["one": "Mohit", "two": "Rohit", "three": "Tony"]

Eliminación de elementos de un diccionario 

Como hemos visto, un método para obtener y establecer el valor de una clave en un diccionario. Pero a veces queremos eliminar un par clave-valor de un diccionario. Entonces, para eliminar un par clave-valor de un diccionario, usamos el método removeValue(forKey:) . Este método devuelve el valor de la clave que se eliminó, o nil si la clave no estaba presente en el diccionario.

Sintaxis:

diccionario.removeValue(forKey: clave)

Ejemplo:

Swift

// Swift program to remove key-value pair from the dictionary
 
// Creating a dictionary
var someDictionary = ["key1": "value1", "key2": "value2"] 
 
// Removing the element from the dictionary
// Using removeValue() method
someDictionary.removeValue(forKey: "key1")
 
// Displaying the dictionary
print(someDictionary)

Producción:

["key2": "value2"]

Convertir un diccionario en una array 

Swift nos permite convertir un diccionario en una array de pares clave-valor. Aquí, se crearán dos arrays, una para almacenar claves y otra para almacenar valores.

Sintaxis:

array (diccionario)

Donde diccionario es el diccionario que queremos convertir en una array.

Ejemplo:

Swift

// Swift program to convert a dictionary to an array
 
// Creating and initializing dictionary
var dict =  ["Arpit":100, "Robin":90, "Nami":90]
 
// Converting dictionary to array
// Here, dictArray1 array stores keys
var dictArray1 = Array(dict.keys)
 
// Here, dictArray1 array stores values
var dictArray2 = Array(dict.values)
 
// Displaying the array of keys
print(dictArray1)
 
// Displaying the array of values
print(dictArray2)

Producción:

["Arpit", "Robin", "Nami"]
[100, 90, 90]

Propiedades del diccionario

Swift ofrece una serie de propiedades y métodos para ayudarlo a trabajar con el diccionario. La cuenta y la propiedad vacía son las propiedades más importantes de un diccionario. La propiedad count devuelve el número de pares clave-valor en el diccionario. La propiedad vacía devuelve verdadero si el diccionario no tiene pares clave-valor y falso si tiene al menos un par clave-valor.

contar la propiedad

La propiedad Count devuelve el recuento de los pares clave-valor presentes en el diccionario dado. Esta propiedad es útil cuando desea iterar sobre el diccionario. Devuelve un valor entero, el número de pares clave-valor en el diccionario.

Sintaxis:

diccionario.contar()

Aquí, el diccionario es el nombre del diccionario y la cuenta es el nombre de la propiedad.

Ejemplo:

Swift

// Swift program to count the elements of dictionary
 
// Creating and initializing dictionary
var planets = ["Mercury": "The closest planet to the sun",
               "Venus": "The second closest planet to the sun",
               "Earth": "The third closest planet to the sun",
               "Mars": "The fourth closest planet to the sun",
               "Jupiter": "The fifth closest planet to the sun",
               "Saturn": "The sixth closest planet to the sun",
               "Uranus": "The seventh closest planet to the sun",
               "Neptune": "The eighth closest planet to the sun"]
 
// Count the planets
// Using count property
print(" Total number of planets in our solar system are \(planets.count)")

Producción:

Total number of planets in our solar system are 8

Propiedad vacía

Supongamos que tenemos un diccionario y queremos realizar alguna operación sobre él. Si el diccionario está vacío, no podemos realizar ninguna operación en él. Entonces, podemos usar la propiedad vacía para verificar si un diccionario está vacío o no. La propiedad vacía devuelve verdadero si el diccionario no tiene pares clave-valor y falso si tiene al menos un par clave-valor. 

Sintaxis:

diccionario.estáVacío()

Aquí, el diccionario es el nombre del diccionario e isEmpty es el nombre de la propiedad.

Ejemplo:

Swift

// Swift program to check if the dictionary is empty or not
 
// Creating and initializing dictionary
var numbers = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] 
 
// Creating empty dictionary
var emptyDictionary = [String: String]()
 
// Creating and initializing dictionary
var fruits = [ "Apple": "Red", "Orange": "Orange",
               "Banana": "Yellow" ]
 
// Checking if the number dictionary is empty or not
// Using isEmpty property
print("is numbers dictionary empty? \(numbers.isEmpty)")
 
// Checking if the emptyDictionary dictionary
// is empty or not. Using isEmpty property
print("is emptyDictionary dictionary empty? \(emptyDictionary.isEmpty)")
 
// Checking if the fruits dictionary
// is empty or not. Using isEmpty property
print("is fruits dictionary empty? \(fruits.isEmpty)")

Producción:

is numbers dictionary empty? false
is emptyDictionary dictionary empty? true
is fruits dictionary empty? false

Publicación traducida automáticamente

Artículo escrito por richasalan57 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *