Estoy empezando a aprender swiftsiguiendo el iBook- The Swift Programming Languageon Swift proporcionado por Apple. El libro dice que para crear un diccionario vacío, uno debe usar lo [:]mismo que al declarar una matriz como []:
Declaré una matriz vacía de la siguiente manera:
let emptyArr = [] // or String[]()
Pero al declarar un diccionario vacío, me sale un error de sintaxis:
let emptyDict = [:]
¿Cómo declaro un diccionario vacío?
ios
swift
dictionary
z22
fuente
fuente

array :() dictionary :{}declaraciones de impresiónlet arr = [] let dict = [:] println("array :\(arr)") println("dictionary :\(dict)")Respuestas:
Nota : si va a cambiar el contenido del diccionario con el tiempo, declare como una
var(variable). Usted puede declarar un diccionario vacío comolet(constante), pero no tiene sentido si usted tiene la intención de cambiar su contenido con el tiempo, ya constante no se puede cambiar después de que se haya inicializado.Vieja respuesta :
Crear un diccionario de tipo vacío
<String, String>se vería de la siguiente manera:fuente
varcomo le sugerí: developer.apple.com/library/prerelease/ios/documentation/Swift/…__NSDictionaryI. Intente agregar un elemento a esoemptyDicty fallará en el momento de la compilación.No se puede usar a
[:]menos que la información de tipo esté disponible.Debe proporcionarlo explícitamente en este caso:
varsignifica que es mutable, por lo que puede agregarle entradas. Por el contrario, si lo convierte en unletno puede modificarlo más (letsignifica constante).Puede usar la
[:]notación abreviada si se puede inferir la información de tipo, por ejemploEn el último ejemplo, se sabe que el diccionario tiene un tipo
Dictionary<String, String>en la primera línea. Tenga en cuenta que no tuvo que especificarlo explícitamente, pero se infirió.fuente
var dict: [String: String] = [:]La documentación de Swift recomienda la siguiente forma de inicializar un diccionario vacío:
Estaba un poco confundido cuando me encontré con esta pregunta por primera vez porque diferentes respuestas mostraban diferentes formas de inicializar un Diccionario vacío. Resulta que en realidad hay muchas maneras de hacerlo, aunque algunas son un poco redundantes o excesivamente detalladas dada la capacidad de Swift para inferir el tipo.
Después de tener un diccionario vacío, puede agregar un par clave-valor como este:
Si desea vaciar su diccionario nuevamente, puede hacer lo siguiente:
Los tipos siguen siendo así
<String, String>porque así se inicializó.fuente
var emptyDictArray = [[String: String]()]var emptyDictArray = [Dictionary<String, String>()]Use esto funcionará.
fuente
var emtpyAry = [String](). Eso tiene sentido.Simplemente puede declararlo así:
fuente
Tienes que darle un tipo al diccionario
Si el compilador puede inferir el tipo, puede usar la sintaxis más corta
fuente
Rápido:
fuente
Estoy jugando con esto también. Parece extraño que pueda declarar un diccionario vacío y luego agregarle un par clave / valor de la siguiente manera:
Pero puede crear un Diccionario que acepte diferentes tipos de valores utilizando el tipo "Cualquiera" de esta manera:
fuente
Debe indicar explícitamente el tipo de datos o el tipo puede inferirse cuando declara algo en Swift.
Swift 3
El siguiente ejemplo declara un diccionario con clave como
Inttipo y el valor comoStringtipo.Método 1: inicializador
Método 2: sintaxis abreviada
Método 3: Diccionario literal
fuente
Swift 4
fuente
Si quieres crear un diccionario genérico con cualquier tipo
fuente
Usualmente estoy usando
fuente
Declarando e inicializando diccionarios en Swift
Diccionario de cuerdas
O
Diccionario de Int
O
Diccionario de AnyObject
O
Diccionario de matriz de cuerdas
O
Matriz de diccionarios de cuerdas
O
fuente
Puede declararlo como nulo con lo siguiente:
Entonces, lo bueno es que ya ha escrito (note que usé var y no lo dejo, piense en esto como mutable e inmutable). Luego puedes llenarlo más tarde:
fuente
Puedes usar el siguiente código:
fuente
var dictList = String: String para diccionario en swift var arrSectionTitle = String para array en swift
fuente
Es muy útil para encontrar el camino.
dict var: Diccionario = [:]
fuente
^ esto agrega un diccionario para una entrada [string: double]
fuente