在我的iOS应用中,我有两个不同的UITableView
自定义 UITableViewCell
。这些表视图不会同时显示。如何为使用swift的人分配不同的数据源?
答案 0 :(得分:2)
以下是您的完整代码:
import UIKit
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var table1: UITableView!
@IBOutlet weak var table2: UITableView!
var table1Data = ["a","b","c"]
var table2Data = ["1","2","3"]
override func viewDidLoad() {
super.viewDidLoad()
table2.hidden = true
}
@IBAction func showTable1(sender: AnyObject) {
table1.hidden = false
table2.hidden = true
}
@IBAction func showTable2(sender: AnyObject) {
table1.hidden = true
table2.hidden = false
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if tableView == table1 {
return table1Data.count
}else if tableView == table2 {
return table2Data.count
}
return Int()
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if tableView == table1 {
let cell = table1.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! UITableViewCell
let row = indexPath.row
cell.textLabel?.text = table1Data[row]
return cell
}else if tableView == table2 {
let cell = table2.dequeueReusableCellWithIdentifier("Cell1", forIndexPath: indexPath) as! UITableViewCell
let row = indexPath.row
cell.textLabel?.text = table2Data[row]
return cell
}
return UITableViewCell()
}
}
和HERE是您完整的工作项目以获取更多信息。
答案 1 :(得分:1)
您可以在文件
中为两个UITableView
设置插座
并将UITableViewDataSrouceDelegate
设置如下。
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
if (tableView == Firsttableview) {
return sectioninFirstTable
}
else if (tableView == SecondTableView) {
return sectioninSecondTable
}
return 0
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if (tableView == Firsttableview) {
return rowinSectionForFirstTable
}
else if (tableView == SecondTableView) {
return rowinSectionForSecondTable
}
return 0
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if (tableView == Firsttableview) {
var cell : FirstCell = tableView.dequeueReusableCellWithIdentifier("cell") as! ProductWishlistCell
return cell
}
else if (tableView == SecondTableView) {
var cell : ProductWishlistCell = tableView.dequeueReusableCellWithIdentifier("cell") as! ProductWishlistCell
return cell
}
}
希望这可以帮到你!!