Hat jemand Erfahrung mit Firebase? Ich versuche, die Informationen, die ich innerhalb der Firebase habe, innerhalb eines Navigationscontrollers anzuzeigen. Immer wenn ich das Programm starte, zeigen die Informationen an, dass es empfangen wird, weil ich Druckzeilen habe, die alles drucken, was es an die Eingabeaufforderung empfängt, aber ein Fehler wird ausgelöst.Verbinde UITableView mit Firebase Ergebnissen
NSInternalInconsistencyException', reason: 'unable to dequeue a cell with identifier CellIdentifier - must register a nib or a class for the identifier or connect a prototype cell in a storyboard
Meine swift-Datei ist hier:
let ref = Firebase(url:"https://<firebase-id>.firebaseio.com/services")
ref.observeSingleEventOfType(.Value, withBlock: { snapshot in
// 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.items.append(snapshot.key)
self.tableView!.reloadData()
})
Ohne werfen einen Fehler:
//
// All.swift
// Guaranteed Pricing
//
// Created by DePauw on 3/30/16.
// Copyright © 2016 DePauw. All rights reserved.
//
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: "cell")
self.view?.addSubview(self.tableView)
let ref = Firebase(url:"https://<firebase-id>.firebaseio.com/services")
ref.observeSingleEventOfType(.Value, withBlock: { snapshot in
// 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.items.append(snapshot.key)
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])
}
}
ich alle Informationen gefunden herunterladen möchten. Das ist mein Drehbuch:
Ich bekomme immer einen "Wert des Objekts ist unverpackt" für den Wert und Schlüssel, wenn ich Ihren Code Jay verwenden. Es macht Sinn für mich, aber aus irgendeinem Grund hat X-Code Probleme beim Lesen der Variablen Schlüssel und Name. Ich habe sogar versucht, lokale Variablen als Zeichenfolgen zu deklarieren. –
@Adrianables Meine Entschuldigung - vergessen zu definieren, was child.key war: Die Antwort wurde mit 'as NSString' aktualisiert. Vergessen Sie nicht, dass die Datenstruktur service_name wie oben definiert enthalten muss. – Jay
kein pronlem Jay! Ich schätze deine Hilfe sehr. Ich habe nur den NSString geändert, das Projekt bereinigt und die Datenstruktur geändert, aber die gleichen Fehler treten immer noch auf. Auch gibt es einen Fehler, der direkt vor dem Wert auftritt, der weitergeht, und ich weiß nicht warum. Der Fehler versucht weiterhin, ein "?" oder '!' nach Wert. –