Ich habe ein Problem, wenn ein UITableView in UIView setzen.UITableView innerhalb UIView in Swift 3.0
Ich setze einen Delegierten und Datenquelle und implementieren Sie alle Methoden.
Dies ist meine UIView-Klasse.
@objc class ChooserView: UIView, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var backgroundView: UIView!
@IBOutlet weak var showView: UIView!
@IBOutlet weak var tableView: UITableView!
public class func createChooserView() -> ChooserView {
var view: ChooserView!
view = Bundle.main.loadNibNamed(String(describing: ChooserView.self), owner: self, options: nil)?.first as! ChooserView
_ = MLAutolayouts.fillContainer(UIApplication.shared.keyWindow!.subviews.first!, view: view)
//Register cell nib
view.tableView.register(UINib(nibName: "PhoneCell", bundle: nil), forCellReuseIdentifier: "PhoneCell")
return view
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: String(describing: PhoneCell.self)) as! PhoneCell
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("TAP...")
}
}
Und das ist die outles
Wenn meine app laufen. Ich bekomme diesen Fehler
-[UIView tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x7fded2e772d0
Log img.
Jede Idee ...
Dank.
Sie haben Ihre Klasse in Code deklariert, aber sieht aus wie Sie, dass Ihre Ansicht zu erklären, vergessen haben, in IB hat den Typ Ihrer Klasse, deshalb sehen Sie '- [UIView tableView: numberOfRowsInSection:]' 'anstelle von' - [ChooserView ... ' – Ossir
Wie verbinde ich den UIView ?? @Hasham –