Swift: usando il valore di un elemento Ui in un dizionario
-
21-12-2019 - |
Domanda
Ho un paramenal dizionario come sotto
var params : Dictionary<String,AnyObject> = [
"name" : self.name.text
]
.
Posso assegnare self.name.Text a una variabile e vedere che ha un valore.
Ma quando faccio
println(params)
.
ottengo un'esc_bad_access in runtime
Posso ripararlo con "come stringa" come sotto
var params : Dictionary<String,AnyObject> = [
"name" : self.name.text as String
]
.
Qualcuno sa perché ho bisogno del cast per fermare l'exc_bad_access?
Soluzione
Dal print
Documentazione :
.Il valore fornito per l'oggetto deve essere conforme al protocollo stampabile o debugPrintable:
Quindi mi aspetto che NSString
non sia conforme a nessuno di questi protocolli.
Il codice seguente genera anche lo stesso errore
var str = NSString()
println(str as String) // fine
println(str) // fails
. Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow