Guten Tag.Alamofire: unerwartet gefunden Null beim Auspacken ein optionaler Wert
Ich habe eine iOS Swift-Anwendung, die mit einer bereits erstellten API kommuniziert und kommuniziert mit Alamofire. Das Problem, das ich habe, ist die API möglicherweise nulls einige Zeit zurückkehren kann, und dies verursacht das folgende Problem:
„fatale Fehler: unerwartet gefunden Null, während einen optionalen Wert auspackt“
Mein Code-Snippet, das aus dem Wörterbuch liest ist wie folgt:
if let LowRate = HotelList[i]["LowRate"] as? Decimal!{
HList._LowRate = LowRate
}
ich habe mehrere Fragen und google Sites überprüfte aber ich brauche eine Möglichkeit, das Objekt im Wörterbuch für null zu überprüfen, bevor seine verarbeitet oder ich brauche eine Art Standardwert zu setzen.
Das Json null Beispiel ist als
HotelData = "<null>";
HotelList =(
{
Address1 = "124 Oceanview Road";
Address2 = Oneroa;
BookingUrl = "<null>";
City = " Auckland";
Country = "New Zealand";
CurrencyCode = "<null>";
DateViewed = "<null>";
Description = "<null>";
Directions = "<null>";
Distance = "<null>";
GeoPoint = "<null>";
HighRate = "<null>";
ImageUrl = "<null>";
LowRate = "<null>";
MinChildAge = "<null>";
Name = "The Oyster Inn";
NavUrl = "<null>";
PostalCode = "<null>";
State = "<null>";
WebsiteUrl = "<null>";
distance = "<null>";
hotelID = 130;
isActive = 1;
isBlocked = 0;
isChildrenAllowed = "<null>";
isFavorite = 0;
isPromoNotified = 0;
showDouble = "<null>";
}
);
RowCount = 11;
hasError = 0;
};
folgt ich Alamofire für meine Json bin mit und es funktioniert, es sei denn es eine Null in einem der 20 Felder zurückgekehrt ist, die möglicherweise eine Null zurückkehren konnte.
Kann mir jemand bei der Durchführung einiger Validierungsprüfungen für das Ergebnis einer Null helfen, wie oben gezeigt, während ich ein optionales Paket entpacke.
Grüße
'wie? Dezimal! 'Nicht gewaltsam auspacken. Ersetzen Sie das '!' Durch eine andere Ebene von 'if let' und behandeln Sie die Möglichkeit von nil. – Moritz
Guten Tag. Vielen Dank für Ihre Antwort. Können Sie mir ein Beispiel geben, wie Sie ein "!" mit einem "wenn lassen" für Null-Validierung? Grüße –
Sie haben ein Beispiel in Ihrem eigenen Code. :) Das wird auch schon überall erklärt, suche nach "optionals" und "optional binding" (was der Name des 'if let' Systems ist). – Moritz