Сохранить данные в массив [Swift] - PullRequest
0 голосов
/ 20 сентября 2018
value:Optional({
"-LMpUBhCddHrShVWPVAx" =     {
    mobile = "(555) 564-8583";
    name = "Kate Bell";
};
"-LMpUBhD9-sX8p2Y3EuB" =     {
    mobile = "(408) 555-5270";
    name = "Daniel Higgins Jr.";
};
"-LMpUBhD9-sX8p2Y3EuC" =     {
    mobile = "888-555-5512";
    name = "John Appleseed";
};
})

У меня есть этот набор словарных данных, которые я получаю от Firebase.Но как мне сохранить его в массив?Данные, которые я хочу, это мобильный и имя.

Вот мой код:

func retrieveLists() {

    ref = Database.database().reference()

    ref.child("users").child("60123456789").child("contact_lists").observeSingleEvent(of: .value, with: { (snapshot) in

        let value = snapshot.value as? NSDictionary
        print("value:\(value)")

    }) { (error) in

        print(error.localizedDescription)

    }


    }

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Используйте приведенный ниже код для справки: -

if let firebaseDic = snapshot.value as? [String: AnyObject] {
    for (_, value) in firebaseDic.enumerated() {
        let mobileNumber = value.value["mobile"]!! as! String                               
    }
}
0 голосов
/ 20 сентября 2018

Вы можете попробовать

struct Item {
    let mobile:String
    let name:String
}

//

var content = [Item]()

for k in value.allKeys {

    if let res = value[k] as? [String:String] , let mobile = res["mobile"] , let name = res["name"] {

        content.append(Item(mobile: mobile, name: name))
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...