2017-07-11 178 views
-2

我想顯示標題標籤到我的tableview單元格,但運行時不顯示任何內容。我也嘗試將一個標籤標籤放入單元格中,但當它運行時它會消失。UITableView單元格內容不顯示快

import UIKit 
import Firebase 
import FirebaseDatabase 
import SDWebImage 

struct postTry { 
    let title : String! 
} 

class CarMakeViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { 
    var posts = [postTry]() 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     let ref = Database.database().reference().child("Posts") 

     ref.observeSingleEvent(of: .value, with: { snapshot in 
      print(snapshot.childrenCount) 

      for rest in snapshot.children.allObjects as! [DataSnapshot] { 
       guard let value = rest.value as? Dictionary<String,Any> else { continue } 

       guard let title = value["Title"] as? String else { continue } 

       let post = postTry(title: title) 

       self.posts.append(post) 
      } 

      self.posts = self.posts.reversed(); 
      self.tableView.reloadData() 
     }) 
    } 

    @IBOutlet weak var tableView: UITableView! 

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return posts.count 
    } 

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCell(withIdentifier: "cellMake") 

     let label1 = cell?.viewWithTag(21) as! UILabel 
     label1.text = posts[indexPath.row].title 

     return cell! 
    } 

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
     if segue.identifier == "makemodel" { 
      if let indexPath = tableView.indexPathForSelectedRow { 
       let destVC = segue.destination as! DetailNewsViewController 
       destVC.titleText = posts[indexPath.row].title 

      } 
     } 
    } 
} 
+0

創建在其中創建保存您的細胞和標籤的新表格視圖單元格單獨的.xib文件。 – AGrammerPro

回答

1

試試下面的第一: 你cellForRowAt方法改成這樣:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
let cell = tableView.dequeueReusableCell(withIdentifier: "cellMake", for: indexPath) as! UITableViewCell 
    let post = posts[indexPath.row] 
    cell.textLabel.text = post.title 

    return cell 
} 

如果您已正確設置你的tableview和您確信您收到火力地堡的對象,這應該工作。

讓我知道這是否有幫助。

1

您需要委派你的tableView到你的ViewController類

tableView.delegate = self 
tableView.datasource = self