私は画像の値を取得したいと思います。ノードはこのように見えるので、url1、url2、url3を取得したいと思います。速報でFirebaseがautoIdの値を取得
"Post": {
"uid": {
"Text": "some text",
"images": {
autoID1: url1,
autoID2: url2,
autoID3: url3
}
}
}
問題はキーが自動生成されていることです。だから、私は通常このようにキャストします。
if let dictionary = snapshot.value as? [String:Anyobject]
let text = dictionary["text"] as? String
ですが、この場合、autoIDキーをキャストして値を取得する方法がわかりません。 私は以下のコードを試みたが、エラーが
は、型の値をキャストすることができませんでした '__NSDictionaryM'(0x10af491c8) 'NSStringの'(0x10a0bad68)へ。 3つのURLが存在する場合
func fetchImages() {
ref.child("Post").child(uid!).child("images").observe(.value, with: { (snapshot) in
let downloadUrl = snapshot.value as! String
let stoRef = Storage.storage().reference(forURL: downloadUrl)
stoRef.getData(maxSize: 1*1024*1024, completion: { (data, error) in
let pic = UIImage(data: data!)
self.imagesArray.append(pic!)
})
}, withCancel: nil)
}
も、私はをループにfor snap in snapshot.children
のように使うべきか?それらのURLをループしてimagesArrayに挿入する方法は? ありがとうございます!
本当にありがとうジェイそれは完全に働いた!あなたの詳細な説明にも感謝します:) – Daibaku