我想在第一个tableview上的didSelectRowAt时将第一个tableview数据传递到第二个tableview,并使用相同的viewController。
var bidCreatedByBankerArray : [BidCreatedByBanker]? = nil
var tableData = [String]()
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if tableView == tableView1{
return (bidCreatedByBankerArray?.count)!
}else{
return (tableData.count)
}
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if (tableView == self.tableView1) {
let cell = tableView1.dequeueReusableCell(withIdentifier: "NumberOfBidsForBorrowerTableViewCell1ID") as? NumberOfBidsForBorrowerTableViewCell1
let bidCreatedByBankerData = bidCreatedByBankerArray?[indexPath.row]
cell?.projectDescriptionLabel.text = bidCreatedByBankerData?.projectDescription
return cell!
}else {
let cell = tableView1.dequeueReusableCell(withIdentifier: "NumberOfBidsForBorrowerTableViewCell2ID") as? NumberOfBidsForBorrowerTableViewCell2
let bidCreatedByBankerData = tableData[indexPath.row]
return cell!
}
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let cell = tableView.cellForRow(at: indexPath) as? NumberOfBidsForBorrowerTableViewCell2
}
对我来说,点击第一张桌面视图时显示空白的细节。
提前致谢
答案 0 :(得分:0)
你的问题似乎有点不清楚。但我在这里有一些假设:
在视图之间传递数据意味着要与tableview的单元格链接,因为这是放置所有数据的位置,或者假设它位于单元类对象中。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let cell = tableView.cellForRow(at: indexPath) as? NumberOfBidsForBorrowerTableViewCell2
// getting cell model object from controller instance array
let bankerBid = bidCreatedByBankerArray?[indexPath.row]
// assuming your data is in cell
let data = cell?.dataNeeded
// updating second table data
tableData[indexPath.row] = bankerBid
if tableView != tableView1 {
tableView.reloadData()
}
}
如果这不是你要求评论的话,我很乐意提供帮助!
答案 1 :(得分:0)
var bidCreatedByBankerArray : [BidCreatedByBanker] = [BidCreatedByBanker]()
var tableData : [BidCreatedByBanker] = [BidCreatedByBanker]()
@IBOutlet weak var tableView1: UITableView!
@IBOutlet weak var tableView2: UITableView!
扩展NumberOfBidForBorrowerViewController:UITableViewDelegate,UITableViewDataSource {
//MARK: - TableView
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if tableView == tableView1{
return (bidCreatedByBankerArray.count)
}else{
return (tableData.count)
}
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if (tableView == self.tableView1) {
let cell = tableView1.dequeueReusableCell(withIdentifier: "NumberOfBidsForBorrowerTableViewCell1ID") as? NumberOfBidsForBorrowerTableViewCell1
let bidCreatedByBankerData = bidCreatedByBankerArray[indexPath.row]
cell?.projectDescriptionLabel.text = bidCreatedByBankerData.projectDescription
return cell!
}else {
let cell = tableView.dequeueReusableCell(withIdentifier: "NumberOfBidsForBorrowerTableViewCell2ID", for: indexPath) as! NumberOfBidsForBorrowerTableViewCell2
cell.selectionStyle = .default
let bidCreatedByBankerData = tableData[indexPath.row]
cell.cityNameLabel.text = bidCreatedByBankerData.cityName
return cell
}
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView2.reloadData()
if (tableView == self.tableView1) {
tableView2.isHidden = false
let bidCreatedByBankerData = bidCreatedByBankerArray[indexPath.row]
tableData.removeAll()
tableData.append(bidCreatedByBankerData)
tableView2.reloadData()
}
}
}