Ios 带Firebase数据库的UITableView中的多个自定义单元格

Ios 带Firebase数据库的UITableView中的多个自定义单元格,ios,swift,uitableview,firebase-realtime-database,Ios,Swift,Uitableview,Firebase Realtime Database,我想创建一个包含两个自定义单元格的tableview,其中的信息来自Firebase数据库。第一个自定义单元格显示日期,第二个自定义单元格显示事件。当我运行应用程序时,tableview只返回第一个自定义单元格,即日期。这是什么原因造成的 import UIKit import Firebase class augustController: UIViewController, UITableViewDataSource, UITableViewDelegate { @IBOutlet

我想创建一个包含两个自定义单元格的tableview,其中的信息来自Firebase数据库。第一个自定义单元格显示日期,第二个自定义单元格显示事件。当我运行应用程序时,tableview只返回第一个自定义单元格,即日期。这是什么原因造成的

import UIKit
import Firebase

class augustController: UIViewController, UITableViewDataSource, UITableViewDelegate {
    @IBOutlet var augustController: UITableView!

    var ref = DatabaseReference()

    var date = [String]()
    var event = [String]()

    var databaseHandle:DatabaseHandle = 0
    var databaseHandle2:DatabaseHandle = 0

    override func viewDidLoad() {
        super.viewDidLoad()

        ref = Database.database().reference()

        databaseHandle = ref.child("Events").child("August").child("dates").observe(.childAdded) { (snapshot) in
            let post = snapshot.value as? String
            if let actualPost = post {
                self.date.append(actualPost)
            }
        }

        databaseHandle2 = ref.child("Events").child("August").child("events").observe(.childAdded) { (snapshot) in
            let post2 = snapshot.value as? String
            if let actualPost2 = post2 {
                self.event.append(actualPost2)
                self.augustController.reloadData()
            }
        }
    }

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

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

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {            
        let augustDate = tableView.dequeueReusableCell(withIdentifier: "augustDate") as! dateCell
        augustDate.date.text = date[indexPath.row]

        return(augustDate)
    }

    func tableView2(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let augustEvents = tableView.dequeueReusableCell(withIdentifier: "augustEvents") as! eventCell
        augustEvents.even.text = event[indexPath.row]

        return(augustEvents)
    }
}

您实现了两次
cellForRow
,您必须

var itemsArr = [Item]()
//

//

然后将其设为一个数组并附加此结构类型的项

struct Item {
   var isDate:Bool
   var content:String
}

还有两个
numberOfRowsInSection
方法。除了将两个
cellForRowAt
方法结合起来,还需要解决很多问题。@shu Khan在viewDidLoad中仍然是
self.event.append(actualPost2)
self.date.append(actualPost)
还是两者都是
self。itemsArr.append(actualPost2)
self。itemsArr.append(actualPost)
既然您已经指出此问题已经得到了回答,请回顾您之前的问题,并在适当的情况下执行相同的操作。
struct Item {
   var isDate:Bool
   var content:String
}