titletextattributes color bar ios swift dictionary

ios - color - Swift: declarar un diccionario vacío



uinavigationitem title color (16)

Debe indicar explícitamente el tipo de datos o el tipo se puede deducir cuando declara algo en Swift.

Swift 3

El ejemplo siguiente declara un diccionario con clave como tipo Int y el valor como tipo de String .

Método 1: Inicializador

let dic = Dictionary<Int, String>()

Método 2: sintaxis abreviada

let dic = [Int:String]()

Método 3: diccionario literal

var dic = [1: "Sample"] // dic has NOT to be a constant dic.removeAll()

Estoy empezando a aprender swift siguiendo el iBook: el lenguaje de The Swift Programming Language Swift en Swift proporcionado por Apple. El libro dice que para crear un diccionario vacío uno debe usar [:] mismo que cuando se declara una matriz como [] :

Declaré una matriz vacía de la siguiente manera:

let emptyArr = [] // or String[]()

Pero al declarar un diccionario vacío, obtengo un error de sintaxis:

let emptyDict = [:]

¿Cómo declaro un diccionario vacío?


Es muy útil para encontrar tu camino

var dict: Dictionary = [:]


Estoy jugando con esto también. Parece extraño que solo puedas declarar un diccionario vacío y luego agregarle un par clave / valor así:

var emptyDictionary = Dictionary<String, Float>() var flexDictionary = [:] emptyDictionary["brian"] = 4.5 flexDictionary["key"] = "value" // ERROR : cannot assign to the result of this expression

Pero puede crear un diccionario que acepte diferentes tipos de valores utilizando el tipo "Cualquiera", como sigue:

var emptyDictionary = Dictionary<String, Any>() emptyDictionary["brian"] = 4.5 emptyDictionary["mike"] = "hello"


La developer.apple.com/library/prerelease/ios/documentation/Swift/… recomienda la siguiente forma de inicializar un diccionario vacío:

var emptyDict = [String: String]()

Estaba un poco confundido cuando me encontré con esta pregunta porque las diferentes respuestas mostraban diferentes formas de inicializar un diccionario vacío. Resulta que en realidad hay muchas maneras en que puede hacerlo, aunque algunos son un poco redundantes o excesivamente detallados dada la capacidad de Swift para inferir el tipo.

var emptyDict = [String: String]() var emptyDict = Dictionary<String, String>() var emptyDict: [String: String] = [:] var emptyDict: [String: String] = [String: String]() var emptyDict: [String: String] = Dictionary<String, String>() var emptyDict: Dictionary = [String: String]() var emptyDict: Dictionary = Dictionary<String, String>() var emptyDict: Dictionary<String, String> = [:] var emptyDict: Dictionary<String, String> = [String: String]() var emptyDict: Dictionary<String, String> = Dictionary<String, String>()

Después de tener un diccionario vacío, puede agregar un par clave-valor como este:

emptyDict["some key"] = "some value"

Si desea vaciar su diccionario nuevamente, puede hacer lo siguiente:

emptyDict = [:]

Los tipos siguen siendo <String, String> porque así es como se inicializó.


No puede usar [:] menos que la información del tipo esté disponible.

Debe proporcionarlo explícitamente en este caso:

var dict = Dictionary<String, String>()

var significa que es mutable, por lo que puede agregarle entradas. Por el contrario, si lo convierte en un let entonces no puede modificarlo más ( let significa constante).

Puede usar la notación abreviada [:] si se puede inferir la información de tipo, por ejemplo

var dict = ["key": "value"] // stuff dict = [:] // ok, I''m done with it

En el último ejemplo, se sabe que el diccionario tiene un tipo de Dictionary<String, String> en la primera línea. Tenga en cuenta que no tiene que especificarlo explícitamente, pero se ha inferido.


Puede declararlo como nulo con lo siguiente:

var assoc : [String:String]

Entonces, es bueno que ya hayas creado el tipo de letra (fíjate que utilicé var y no dejé, piensa en estos como mutables e inmutables). Entonces puedes llenarlo más tarde:

assoc = ["key1" : "things", "key2" : "stuff"]


Si quieres crear un diccionario genérico con cualquier tipo

var dictionaryData = [AnyHashable:Any]()


Simplemente puede declararlo así:

var emptyDict:NSMutableDictionary = [:]


Swift 4

//MARK: - This is empty dictionary let dic = ["":""] //MARK:- This is variable dic means if you want to put variable let dic2 = ["":"", "":"", "":""] //MARK:- Variable example let dic3 = ["name":"Shakeel Ahmed", "imageurl":"https://abc?abc.abc/etc", "address":"Rawalpindi Pakistan"] //MARK: - This is 2nd Variable Example dictionary let dic4 = ["name": variablename, "city": variablecity, "zip": variablezip] //MARK:- Dictionary String with Any Object var dic5a = [String: String]() var dic5b = [String:AnyObject]() dic5b = ["name": fullname, "imageurl": imgurl, "language": imgurl, ] as [String : AnyObject] or //MARK:- Dictionary String with Any Object let dic5 = ["name": fullname, "imageurl": imgurl, "language": imgurl, ] as [String : AnyObject]


Tienes que darle un tipo de diccionario

// empty dict with Ints as keys and Strings as values var namesOfIntegers = Dictionary<Int, String>()

Si el compilador puede inferir el tipo, puede usar la sintaxis más corta

namesOfIntegers[16] = "sixteen" // namesOfIntegers now contains 1 key-value pair namesOfIntegers = [:] // namesOfIntegers is once again an empty dictionary of type Int, String


Use esto funcionará

var emptyDict = [String: String]()


Usualmente estoy usando

var dictionary:[String:String] = [:] dictionary.removeAll()


var dictList = String: String para diccionario en swift var arrSectionTitle = String para array en swift


Rápido:

var myDictionary = Dictionary<String, AnyObject>()


var emptyDictionary = [String: String]()

var populatedDictionary = ["key1": "value1", "key2": "value2"]

Nota : si vas a cambiar el contenido del diccionario a lo largo del tiempo, entonces declaralo como var (variable). Puede declarar un diccionario vacío como let (constante) pero no tiene sentido si tiene la intención de cambiar su contenido a lo largo del tiempo, ya que la constante no se puede cambiar después de que se haya inicializado.

Respuesta anterior :

La creación de un diccionario vacío de tipo <String, String> se vería de la siguiente manera:

var emptyDictionary = Dictionary<String, String>()


var parking = [Dictionary < String, Double >()]

^ esto agrega un diccionario para una entrada [cadena: doble]