La récupération de l'image de Firebase de Stockage à l'aide de Swift
Je suis à la recherche d'un début à la fin du code exemple de récupérer une image à partir de Firebase de Stockage, juste pour montrer une image. Soit comme un affichage de l'image ou d'un tableau. J'ai regardé les posts ici et les différents tutoriels. Il se sent toujours comme quelque chose qui est laissé de côté. Si je pouvais voir l'image en entier, je vais être en mesure de saisir ce mieux.
Le code joint est ma tentative de changer photo1 de locaux à tirer de Firebase de Stockage.
import UIKit
import Firebase
import FirebaseAuth
import FirebaseStorage
import FirebaseDatabase
class MainMenuTableViewController: UITableViewController {
var mainMenu = [Menu]()
var photo1 = UIImage()
override func viewDidLoad() {
super.viewDidLoad()
loadMenu()
}
func loadMenu() {
let storage = FIRStorage.storage()
//Create a storage reference from the URL
let storageRef = storage.referenceForURL("https://firebasestorage.googleapis.com/v0/b/medicalpatientapp-7fd45.appspot.com/o/iconimages%2Ffile-medical-icons.png?alt=media&token=c95b9c51-67ae-4e93-b63c-62091015a9ff")
//Download the data, assuming a max size of 1MB (you can change this as necessary)
storageRef.dataWithMaxSize(1 * 1024 * 1024) { (data, error) -> Void in
//Create a UIImage, add it to the array
let pic = UIImage(data: data!)
self.photo1 = pic!
}
//let photo1 = UIImage(named: "iconimages-file-medical-icons")!
let menu1 = Menu(name: "My Notes", photo: photo1)!
let photo2 = UIImage(named: "iconimages-file-medical-icons")!
let menu2 = Menu(name: "View Patients", photo: photo2)!
let photo3 = UIImage(named: "iconimages-add-medical-icons")!
let menu3 = Menu(name: "Add Persons", photo: photo3)!
mainMenu += [menu1, menu2, menu3]
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
//Dispose of any resources that can be recreated.
}
//MARK: - Table view data source
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
//#warning Incomplete implementation, return the number of sections
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
//#warning Incomplete implementation, return the number of rows
return mainMenu.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
//Configure the cell...
let cellIdentifier = "MenuTableViewCell"
let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as! MainMenuTableViewCell
//Fetches the appropriate meal for the data source layout.
let menu = mainMenu[indexPath.row]
cell.menuLabel.text = menu.name
cell.menuImage.image = menu.photo
return cell
}
}
Vous devez vous connecter pour publier un commentaire.
Nous vous recommandons vivement d'utiliser Firebase de Stockage et de la Firebase en temps réel de la Base de données ensemble pour accomplir cette tâche. Voici un exemple complet:
Partagé:
Upload:
Télécharger:
Pour plus d'informations, voir Zéro App: Développer avec Firebase, et c'est le code source associé, pour un exemple pratique de la façon de faire.
Dans Swift 3
Cette télécharge l'image à partir du stockage.
Je recommande fortement d'utiliser le construit en FirebaseUI fonction sd_setImage. Il a construit dans les fonctions de mise en cache et est plus rapide que d'avoir à utiliser la représentation de Données à partir de la base de données de Stockage.
Assurez-vous d'importer FirebaseUI et l'ajouter à votre podfile.
Dans Swift 4,
1. Swift 4.1 Retrive images de Firebase de Stockage de RÈGLES de mise à Jour pour votre "STOCKAGE" panneau de gauche firebase option uniquement avec votre nom de l'application:-
2. Créer une méthode Simple avec des rappels dans votre classe où vous avez importé firebase de stockage:-
3. L'utilisation de cette méthode où vous voulez:-