Swift 3 ändert, wie NSCoder funktioniert.Swift 3: Wie bekomme ich einen Fehler, wenn die NSCoder decodeX-Funktion einen falschen Werttyp dekodiert?
Wie andere SO Fragen erwähnen, um Werttypen wie Int
oder Bool
zu dekodieren, müssen Sie eine bestimmte Funktion verwenden. Zum Beispiel wird decodeIntegerInt
Werte wie so zu dekodieren verwendet:
let value = decodeInteger(forKey key: TestKey)
Aber was, wenn der zurückgegebene Wert von decodeInteger
ist ein String
oder Bool
oder etwas anderes als ein Int
?
Oder was ist, wenn TestKey tatsächlich auf nichts abbildet, weil es die falschen Schlüsseldaten enthält?
Wie fangen Sie diese Fehler anmutig?
@LeoDabus 0 ist eine gültige Ganzzahl. Wie unterscheiden Sie zwischen einem gültigen und einem ungültigen Fall von 0? – Crashalot