Comparison : left TableViewController : not Working ; right ViewController : workingIOS夫特:TableViewController与内TableView中在静态细胞
我有在左控制器内的tableView一个problème: 由于左控制器与静态细胞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)!")
}
}
这是什么问题?
感谢
谢谢,它的工作原理:) 你能解释我为什么 你刚才宣布tvDelegate作为实例变量。 是因为我使用了2个不同的实例作为delagate和dataSource吗? – tutanck
编号InnerTVDelegate()返回一个自动释放对象。它只是获得释放。 – Torongo