開発環境
Xcode11.0
Swift5.1
firebase3
前提・実現したいこと
マッチングアプリの機能を実装しています。
Firebaseへの登録はできています。
Firebaseからデータを呼び出してデータを一つずつTableViewCell内に配置されているLabelへ表示したいです
・Firebaseに登録されているデータを呼び出して配列に格納
・格納されたデータを一つずつTableViewCellの中のLabelに格納して表示する
というような流れで実装を行いました
発生している問題・エラーメッセージ
Firebaseからデータを呼び出すことはできています
しかしTableViewCell内のLabelに表示することができません
TableViewに表示できるか(Labelなし)試してみましたが表示されませんでした。
TableViewController.swift
1import UIKit 2import Firebase 3import SwiftyJSON 4 5class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { 6 7 @IBOutlet weak var TableView: UITableView! 8 9 let ref: DatabaseReference = Database.database().reference() 10 // 空の配列を用意 11 var Array_Title: [String] = [] 12 13 override func viewDidLoad() { 14 super.viewDidLoad() 15 ref.child("Sample").observe(.value , with: { (snapshot: DataSnapshot) in 16 //FirebaseのデータをJSON形式でもらう 17 let getjson = JSON(snapshot.value as? [String : AnyObject] ?? [:]) 18 //データが0件の場合何もしない 19 if getjson.count == 0 { 20 return 21 } 22 for (key, _) in getjson.dictionaryValue { 23 // 呼び出したデータを配列に格納 24 self.Array_Title.append("(getjson[key]["Title"].stringValue)") 25 } 26 // コンソールに配列を表示 27 print(self.Array_Title) 28 self.TableView.reloadData() 29 }) 30 } 31 32 // 配列のカウントを行ってセルの数を返す 33 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 34 return Array_Title.count 35 } 36 37 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 38 let cell = tableView.dequeueReusableCell(withIdentifier: "TableViewCell", for: indexPath) as! TableViewCell 39 // cellのlabelに値を入れます。 40 cell.Title.text = Array_Title[indexPath.row] 41 return cell 42 } 43 44} 45
TableViewCell.swift
1import UIKit 2 3class TableViewCell: UITableViewCell { 4 5 @IBOutlet weak var Title: UILabel! 6 7 override func awakeFromNib() { 8 super.awakeFromNib() 9 // Initialization code 10 } 11 12 override func setSelected(_ selected: Bool, animated: Bool) { 13 super.setSelected(selected, animated: animated) 14 15 // Configure the view for the selected state 16 } 17 18}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。