Ich versuche, das Tableview-Protokoll in einer benutzerdefinierten Klasse zu implementieren. Mein Ziel ist es, eine TableView-Bibliothek zu entwickeln.IOS swift3 tableview Protokollimplementierung in einer anderen Klasse als UIController
meine Probe sieht Klasse wie diese
open class TempTableAdapter : NSObject, UITableViewDataSource, UITableViewDelegate{
open var listTable : UITableView!
init(listTable:UITableView) {
super.init()
self.listTable = listTable
self.listTable.dataSource = self
self.listTable.delegate = self
}
open func numberOfSections(in tableView: UITableView) -> Int {
return 1 ;
}
open func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
open func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "temp") as! TempCell
let text = "hello"
cell.label.text = text
return cell
}
open func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print ("tapped")
}
}
und meine ui Controller sieht wie folgt aus
class ViewController: UIViewController {
@IBOutlet weak var listTable: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
let adap : TempTableAdapter = TempTableAdapter (listTable: listTable)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
jemand kann darauf hinweisen, was bin ich dabei? Das Problem ist die UITableView
zeigt die Standardtabelle, nicht mit meiner benutzerdefinierten Klasse.
Solch ein dummer Fehler zu machen! Danke für deine Hilfe, es funktioniert jetzt perfekt. –