【发布时间】:2020-09-12 08:31:59
【问题描述】:
我正在尝试将数据从 tableview 传递到另一个页面(视图控制器),但问题是我从 tableview 收到错误。下面是代码,我已经标记了我得到的错误。
P1ViewController.Swift
class P1ViewController: ViewController,UITableViewDelegate,UITableViewDataSource {
var name=["Table1","Table2"]
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return name.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell=tableView.dequeueReusableCell(withIdentifier: "cell")
cell?.textLabel?.text=name[indexPath.row]
return cell!
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let detail=self.storyboard?.instantiateViewController(withIdentifier: "DetailViewController") as! DetailViewController
detail.lblName=name[indexPath.row] //This is the error i am getting "Cannot assign value of type 'String' to type 'UILabel'"
self.navigationController?.pushViewController(detail, animated: true)
}
override func viewDidLoad() {
super.viewDidLoad()
}
}
DetailViewController.Swift
class DetailViewController: ViewController {
@IBOutlet weak var lblName: UILabel!
var name:String!
override func viewDidLoad() {
super.viewDidLoad()
lblName.text=name
}
}
【问题讨论】:
-
detail.lblName.text = name[indexPath.row]
标签: swift uitableview tableview viewcontroller