我正在设置一个项目,我想在其中从Firebase数据库中检索数据并出现在TableView中。 对于Strings,我能够检索到但形成图像却非常困难,这主要是因为我缺乏知识。正在检索Firebase中的图像。
这是一个Firebase项目,NoSql和Swift。
文件1:
fileprivate var items: [ItemInfo]! = [("Titulo","Description","email","Linkdetalhes","telefone","Coordenates","Rating","photo")]
override func viewDidLoad() {
super.viewDidLoad()
switch clickedButton {
case 1:
items.removeAll()
(UIApplication.shared.delegate as! AppDelegate).fireBaseRef.observe(.value, with: { snapshot in
let dictRoot = snapshot.value as? [String : AnyObject] ?? [:]
let dictAliances = dictRoot["Aliances"] as? [String: AnyObject] ?? [:]
print(dictAliances.count)
//new strategy for image
for key in Array(dictAliances.keys) {
let alianceDic = dictAliances[key]
self.items.append(( alianceDic!["Title"] as! String, alianceDic!["Description"] as! String, alianceDic!["email"] as! String, alianceDic!["Linkdetalhes"] as! String, alianceDic!["telefone"] as! String, alianceDic!["Coordenates"] as! String, alianceDic!["Rating"] as! String, alianceDic!["photo"] as! String))
self.tableView.reloadData()
print("**** \(self.items)")
}
print(dictAliances)
})
self.tableView?.reloadData()
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "hello", for: indexPath) as! itemTableViewCell
let item = self.items[indexPath.row]
cell.Title.text = item.Title
cell.Description.text = item.Description
cell.Rating.text = item.email
cell.photo.text = item.photo
return cell
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if (segue.identifier == "exemplo"){
let vc = segue.destination as! DetalhesViewController
vc.titulodetalheProduto = self.escolhido.Title
vc.descriptiondetalheProduto = self.escolhido.Description
vc.emaildetalheProduto = self.escolhido.email
vc.linkdetalhesProducto = self.escolhido.Linkdetalhes
vc.telefonedetalheProduto = self.escolhido.telefone
vc.locationdetalheProduto = self.escolhido.Coordenates
vc.ratingdetalheProduto = self.escolhido.Rating
vc.photodetalheProduto = self.escolhido.photo
}
文件2:
@IBOutlet weak var photodetalhe: UIImageView!
@IBOutlet weak var titulodetalhe: UILabel!
@IBOutlet weak var ratingdetalhe: UILabel!
@IBOutlet weak var telefonedetalhe: UILabel!
@IBOutlet weak var emaildetalhe: UILabel!
@IBOutlet weak var locationdetalhe: UILabel!
@IBOutlet weak var descriptiondetalhe: UITextView!
@IBOutlet weak var linkdetalhes: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
linkdetalhes.text = linkdetalhesProducto
titulodetalhe.text = titulodetalheProduto
ratingdetalhe.text = ratingdetalheProduto
telefonedetalhe.text = telefonedetalheProduto
emaildetalhe.text = emaildetalheProduto
locationdetalhe.text = locationdetalheProduto
descriptiondetalhe.text = descriptiondetalheProduto
photodetalhe.image = photodetalheProduto
// Do any additional setup after loading the view.
}
预期结果是从数据库中的照片收集数据,并在Swift项目中填写UIIamge