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?

È stato utile?

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
scroll top