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