【发布时间】:2018-01-02 23:36:29
【问题描述】:
Comparison : left TableViewController : not Working ; right ViewController : working
左侧 Controller 中的内部 tableView 存在问题: 因为左控制器是一个带有静态单元格的 TableViewController,它无法实现 UITableViewDelegate、UITableViewDataSource 协议,所以我不能使用 TableViewController 类作为内部 tableView 的委托。
我创建了一个类 (InnerTVDelegate),它充当内部 tableView 的委托,并将 tableView 委托/数据源设置为 InnerTVDelegate 的一个实例,但它不起作用。
这是我的课程:
导入 UIKit
类 MyTableViewController: UITableViewController {
@IBOutlet weak var innerTableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
innerTableView.delegate = InnerTVDelegate()
innerTableView.dataSource = InnerTVDelegate()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
类 InnerTVDelegate : NSObject, UITableViewDelegate, UITableViewDataSource {
var items: [String] = ["We", "Heart", "Swift"]
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.items.count;
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "InnerTVTableViewCell") as! InnerTVTableViewCell
cell.mytextLabel?.text = self.items[indexPath.row]
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("You selected cell #\(indexPath.row)!")
}
}
这有什么问题?
谢谢
【问题讨论】:
标签: ios swift uitableview tableview