func getPost() {
postCollectionRef.getDocuments { (snapshot, error) in
if let err = error {
debugPrint("Error getting the data from firebase.")
} else {
for document in (snapshot?.documents)! {
let _data = document.data()
let _image = _data["image"] as? String ?? "Anonymous"
let _username = _data["username"] as? String ?? "Anonymous"
let _location = _data["location"] as? String ?? "Anonymous"
let _description = _data["description"] as? String ?? "Anonymous"
let _quantity = _data["quantity"] as? String ?? "Anonymous"
let _phone = _data["phone"] as? String ?? "Anonymous"
let _date = _data["date"] as? Date ?? Date()
// Points to the storage
let _storageRef = storage.reference()
// Points to the images folder
let _folderRef = _storageRef.child("images")
// Points to the the image under the images folder
let _fileRef = _folderRef.child("\(_image).jpg")
// File path is "images/whatever.jpg
let path = _fileRef.fullPath
var loadedImage: UIImage!
var temp: [UIImage] = []
// _storageRef.child("images/\(_image).jpg")
//get the associated post image
_fileRef.getData(maxSize: 10 * 1024 * 1024) { (data, error) in
// Create a UIImage, add it to the array
if let error = error {
print(error)
} else {
let loadedImage = UIImage(data: data!)
temp.append(loadedImage!)
}
}
Когда я запускаю этот код для загрузки изображения из хранилища Firebase, он пропускает строку _fileRef.getData, и я не могу получить изображение из хранилища Firebase. Кто-нибудь знает, почему он пропустит эту строку вместо go внутри нее и выполнит оператор if else?
Редактировать: Когда я устанавливаю точку останова на if let error = error, он на самом деле добавляет изображение к временному массиву! Однако, когда я пытаюсь выйти из закрытия _fileRef.getData, он продолжает переносить меня в разные файлы, но не позволяет мне шагнуть вперед. Сначала он переносит меня в FIRStorageReference.m, если я пытаюсь перешагнуть через этот файл, он переводит меня в 0 _dispatch_call_block_and_release, и это в значительной степени просто продолжается вечно и продолжает переходить в разные файлы. Это должно быть, почему строка не выполняется, кто-нибудь знает, почему это произойдет?