Utknąłem na tym kodzie! Chcę usunąć opcjonalne opcje. Jak najlepiej to zrobić? Próbowałem zmienić AnyObject na NSString, ale nie wiem jak.
Jaki jest najlepszy sposób na zrobienie tego?
A moje drugie pytanie brzmi: jak przechowywać to w podstawowych danych? Czy są w tym fajne ramy?
Alamofire.request(.GET, urlDb)
.responseJSON { (request, response, json, error) in
println(error)
//println(json)
if let contactGroups : AnyObject! = json{
//println("Contact groepen")
var contactGroups = contactGroups["contact_groups"] as NSArray
for cG in contactGroups {
println(cG["group_id"]!)
//println(cG["contact_id"]!)
}
}
if let contacts : AnyObject = json{
//println(contacts["contacts"])
println("Contacten")
var contacts = contacts["contacts"] as NSArray
for c in contacts{
println(c["id"])
println(c["name"])
}
}
}
To jest dziennik konsoli
nil
Optional(1)
Optional(2)
Contacten
Optional(1)
Optional(Dirk Sierd de Vries)
Mam nadzieję, że pomożecie mi w moim szkolnym projekcie: D
Odpowiedzi:
1 dla odpowiedzi № 1Zmodyfikuj dla pętli jak poniżej:
for c in contacts {
println(c["id"] as NSString)
println(c["name"] as NSString)
}
Wyjaśnienie:
W Swift musisz określić obiekt do określonego typu. Jeśli nie, to domyślnie pokazujeOptional
słowo kluczowe. Tutaj wartości klucza słownika są drukowane bezpośrednio w dzienniku i nie określono tego, jaki typ wartości jest przechowywany w słowniku.
Informacje o zapisywaniu podstawowych danych:
Nie, nie ma żadnych fajnych ram, które mogłyby zapisywać dane w podstawowych danych. Musisz to zrobić samodzielnie. Poniższy link najlepiej jest użyć, aby zacząć się tego uczyć.