0
誰かがこれがなぜ機能していないのか知っていますか? tableViewは空であり、データベースとストレージに項目があっても何も表示されません。これは、私が貼り付けたこのコードの最後に表示されるストレージからイメージのロードを実装する前に正常に機能しました。food.append()
ステートメントはstorageRef.getData()
クロージャの外にあることがありましたが(存在しないため)それを取り除くと、クロージャ内で宣言されているので、recipeImage
にアクセスすることはできません。閉鎖されているので機能しないのですか?もしそうなら、私はそれをどのように修正するのですか? recipeName!説明:ファイヤーベースからスウィフトローディングイメージ
let parentRef = Database.database().reference().child("Recipes")
let storage = Storage.storage()
parentRef.observe(.value, with: { snapshot in
//Processes values received from server
if (snapshot.value is NSNull) {
// DATA WAS NOT FOUND
print("– – – Data was not found – – –")
} else {
//Clears array so that it does not load duplicates
food = []
// DATA WAS FOUND
for user_child in (snapshot.children) {
let user_snap = user_child as! DataSnapshot
let dict = user_snap.value as! [String: String?]
//Defines variables for labels
let recipeName = dict["Name"] as? String
let recipeDescription = dict["Description"] as? String
let downloadURL = dict["Image"] as? String
let storageRef = storage.reference(forURL: downloadURL!)
storageRef.getData(maxSize: 1 * 1024 * 1024) { (data, error) -> Void in
let recipeImage = UIImage(data: data!)
food.append(Element(name: recipeName!, description: recipeDescription!, image: recipeImage!))
}
}
self.tableView.reloadData()
}
})
後recipeDescription !、image:recipeImage!)) '、どのような動作を参照してください? – 3stud1ant3
IT WORKS !! – random1234
偉大な、私は答えとしてそれを追加しました – 3stud1ant3