Possiedo un dizionario UserInfo da una UILocalNotification. C'è un modo semplice per ottenere il valore di stringa quando si utilizza lo scostamento implicito?Ottieni una stringa dal dizionario utenteInfo
if let s = userInfo?["ID"]
Fornisce un oggetto AnyObject che devo trasmettere a una stringa.
if let s = userInfo?["ID"] as String
mi dà un errore circa StringLiteralConvertable
Semplicemente non vogliono avere a dichiarare due variabili per ottenere una stringa - letterale per l'unwrap e un altro per la stringa var fuso.
Modifica
Ecco il mio metodo. Anche questo non funziona: I get (NSObject, AnyObject) non è convertibile in String sull'istruzione if.
for notification in scheduledNotifications
{
// optional chainging
let userInfo = notification.userInfo
if let id = userInfo?[ "ID" ] as? String
{
println("Id found: " + id)
}
else
{
println("ID not found")
}
}
io non ce l'ho nella mia interrogazione, ma oltre ad ottenere in questo modo di lavorare, mi piacerebbe avere in realtà
if let s = notification.userInfo?["ID"] as String
Questo non ha funzionato. Ho pubblicato la mia funzione. Inoltre, non ho nella domanda originale, ma originariamente volevo accedere a userInfo dalla notifica. Quindi notification.userInfo ["ID"]. – Brian
Vedere la mia risposta aggiornata. – vacawama
Grazie. Stavo usando Xcode 6.0.1. Aggiornato a 6.1 e ha funzionato. – Brian