Firebase 데이터베이스의 데이터를 Swift의 특정 레이블로 가져 오려고합니다. TableView
(Main.storyboard
)에 두 개의 레이블이 1
및 2
으로 표시됩니다. ViewController
에서Swift : Firebase 데이터베이스에서 데이터를 검색하여 레이블
,이 코드가 있습니다
import UIKit
import Firebase
import FirebaseDatabase
struct confStruct {
let title : String!
let place : String!
}
class EVS_Table_VC: UITableViewController {
var conf = [confStruct]()
override func viewDidLoad() {
super.viewDidLoad()
let databaseRef = FIRDatabase.database().reference()
databaseRef.child("conferences").queryOrderedByKey().observeEventType(.ChildAdded, withBlock: {
snapshot in
self.tableView.reloadData()
})
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return conf.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell")
let label1 = cell?.viewWithTag(1) as! UILabel
label1.text = conf[indexPath.row].title
let label2 = cell?.viewWithTag(2) as! UILabel
label2.text = conf[indexPath.row].place
return cell!
}
}
을하지만 아무것도 시뮬레이터에 표시되지 않습니다. 누군가이 문제를 해결할 수있는 방법이 있습니까? 이 구조체 은 데이터베이스에서 내 변수를 초기화합니까? (title
, place
).
JSON 트리 :
"conferences": {
"Key": {
"date": "some date"
"deadline": "some deadline"
"place": "some place"
"title": "some title"
}
}
**에 ** conf ** 테이블 데이터를 다시로드하기 전에 –
JSON 트리를 지정하십시오 .. – Dravidian
@ Dravidian 나는 편집했다. – gryzek