Swift AnyObject kann nicht in String / Int konvertiert werden

Ich möchte ein JSON-Objekt analysieren, habe aber keine Ahnung, wie ich AnyObject in String oder Int umwandeln soll, da ich Folgendes erhalte:

0x106bf1d07:  leaq   0x33130(%rip), %rax       ; "Swift dynamic cast failure"

Wenn Sie zum Beispiel verwenden:

self.id = reminderJSON["id"] as Int

Ich habe die ResponseParser-Klasse und darin (responseReminders ist ein Array von AnyObjects von AFNetworking responseObject):

for reminder in responseReminders {
    let newReminder = Reminder(reminderJSON: reminder)
        ...
}

Dann initialisiere ich es in der Reminder-Klasse wie folgt (Reminder als AnyObject, aber Dictionary (String, AnyObject)):

var id: Int
var receiver: String

init(reminderJSON: AnyObject) {
    self.id = reminderJSON["id"] as Int
    self.receiver = reminderJSON["send_reminder_to"] as String
}

println(reminderJSON["id"]) Ergebnis ist: Optional (3065522)

Wie kann ich in einem solchen Fall AnyObject auf String oder Int downcasten?

//BEARBEITEN

Nach einigen Versuchen komme ich mit dieser Lösung:

if let id: AnyObject = reminderJSON["id"] { 
    self.id = Int(id as NSNumber) 
} 

für Int und

if let tempReceiver: AnyObject = reminderJSON["send_reminder_to"] { 
    self.id = "\(tempReceiver)" 
} 

für string

Antworten auf die Frage(4)

Ihre Antwort auf die Frage