在同一视图控制器中使用2个tableviews(swift3)

时间:2017-09-20 04:50:13

标签: ios uitableview swift3 row cell

下面的代码是典型的tableview。我想要做的是有两个tableviews,其中各自的单元格单元格和dx都显示var文本。我尝试使用“return cell&& cc”来组合一些东西,但这不起作用。我只是想用来分隔2个不同的tableviews中的单元格,以在同一个视图控制器中显示相同的变量。

        import UIKit

var text = ["a", "b"]

var row = 0

class ViewController: UIViewController,  UITableViewDelegate,  UITableViewDataSource {

    @IBOutlet var b: UITableView!
    @IBOutlet var a: UITableView!
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        if tableView == a {


           return 5
        }
        else {

            return 10
        }
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        if tableView == a {
            let cell = UITableViewCell(style: .default, reuseIdentifier: "cell")
            return cell
        }
        else {
            let cell = UITableViewCell(style: .default, reuseIdentifier: "dx")
            return cell

        }
    }

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
row = indexPath.row
}}

enter image description here

2 个答案:

答案 0 :(得分:2)

您可以使用以下两个tableview: - >

<强> IBOutlet中

@IBOutlet var table1: UITableView!
@IBOutlet var table2: UITableView!

UITableViewDataSource,UITableViewDelegate

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    if tableView == table1 {
        return 5
    }
    else {
        return 10
    }
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    if tableView == table1 {
        let cell = UITableViewCell(style: .default, reuseIdentifier: "cell")
        return cell
    }
    else {
        let cell = UITableViewCell(style: .default, reuseIdentifier: "cell1")
        return cell

    }
}

答案 1 :(得分:0)

<强> UITableViewDataSource

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
     var count:Int?

     if tableView == self.tblGuests {
        count = 2
     }

     if tableView == self.tblDetail{
        count =  5
     }

     return count!

}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        var cell:UITableViewCell?

        if tableView == self.tblGuests {
            cell = tableView.dequeueReusableCell(withIdentifier: "BookingGuestsCell", for: indexPath) as! BookingGuestsCell
        } else {
            cell = tableView.dequeueReusableCell(withIdentifier: "BookingRoomDetailCell", for: indexPath) as! BookingRoomDetailCell
        }
        return cell!
}