0
Firebase'i denetleyiciye sokmakta güçlük çekiyorum. Firebase, konsola baskı yapabilmem nedeniyle doğru şekilde çalışıyor. Uygulamamdaki tüm verileri görüntüleyebilmem gerekiyor. Yardım lütfen! // // All.swift // Garantili Fiyatlandırma //iOS hızlı liste görüntüleme denetleyicimde firebase bilgileri nasıl görüntülenir?
import Foundation
import UIKit
import Firebase
class All: UINavigationController, UITableViewDataSource, UITableViewDelegate {
var items: [String] = []
var tableView: UITableView!
let cellIdentifier = "CellIdentifier"
override func viewDidLoad(){
super.viewDidLoad()
self.tableView = UITableView(frame:self.view!.frame)
self.tableView!.delegate = self
self.tableView!.dataSource = self
self.tableView!.registerClass(UITableViewCell.self, forCellReuseIdentifier: cellIdentifier)
self.view?.addSubview(self.tableView)
let ref = Firebase(url:"https://sizzling-inferno-451.firebaseio.com/services")
ref.observeSingleEventOfType(.Value, withBlock: { snapshot in
for child in snapshot.children {
// let key = child.key //returns -Jikaijsipaij and -kalksdokoas
// let name = child.value.objectForKey("service_name") as NSString?
////
// self.items.append(key)
}
// do some stuff once
print(snapshot.value)
// get these values and put them in the cell's text view. key is more important
print(snapshot.key)
// add to the array and just this array
self.tableView!.reloadData()
})
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return items.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath)
// Fetch Fruit
let fruit = items[indexPath.row]
// Configure Cell
cell.textLabel?.text = fruit
return cell
}
// onclick printing
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
print(items[indexPath.row])
}
}
Eh, başlayanlar için ürün dizisini doldurmadığınızdan herhangi bir veri ile tableView veri kaynağı olan). Bunu ref.observe bloğu içinde yapmak istersiniz. Kodunuzun, en azından bir anahtar listesi görüntülemek istiyorsanız, kullanmanız gerektiği şeklinde yorumlandığı anlaşılıyor. Oh, ve Firebase yapınız, service_name adlı herhangi bir anahtarı içermez, bu nedenle saat veya tür olarak var olan bir anahtar adı kullanmanız gerekir. – Jay
Peki, yorumladığım kod bir firebase yapısını modellemeye çalışıyordu. Bunu uygulamaya çalıştım ama service_name yerine açıklama kullandım. Bazı nedenlerden dolayı "isteğe bağlı tür 'AnyObject ?!' unwrapped değil, '!' kullanmak demek istediniz mi? ya da '?' ." Ayrıca, diziyi nasıl dolduracağım konusunda herhangi bir öneriniz var mı? Ya da bu hataların ne olduğu hakkında bir fikrin var mı? Firebase düzgün çalışıyor ve denetleyicileri doğru şekilde kurdum ... Bu hatayı bir süredir hallediyorum ve nasıl çözeceğimi bilmiyorum. –
Belki de Swift'in ayrılmaz bir parçası olan opsiyonelleri (?) Okumalısınız. Değişkenler ve opsiyonlar hakkında Apple eğiticisi oldukça iyidir. Biraz yardım vermesi gereken bir cevap ekledim. – Jay