Już czytałem i widziałem kilka filmów na ten temat, ale nie mogę tego uruchomić. Próbuję użyć komórki z xib zamiast storyboardu.Komórka od Xib z Swift 3
To jest mój ViewController (gdzie mam widok tabeli).
import UIKit
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! CellTableView
cell.test.text = "A";
return cell;
}
}
To mój CellTableView (klasa gdzie mam celi):
import UIKit
class CellTableView: UITableViewCell {
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
@IBOutlet var teste: UILabel!
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
zawsze stosować tabeli Zobacz komórkę wewnątrz Table View w serii ujęć, ale chcę spróbować podejścia XIB teraz.
Dodałem identyfikator do komórki XIB, aby wywołać go za pomocą metody dequeueReusableCell.
Co mogę zrobić źle? Próbowałem Outlet dataSource i delegata widoku tabeli, ale mam błąd (i myślę, że nie jest to właściwe kroki).
Masz na myśli identyfikator komórki, prawda? Więc w ViewController ja po prostu umieścić: niech nib = UINib (nibName: "komórka", pakiet: nil) tableView.register (stalówka, forCellReuseIdentifier: "komórka") ? To nie działa. Moje komórki są nadal puste. – Adrian
Przepraszam, naprawdę miałem na myśli nazwę twojego pliku nib. Powinien być prawdopodobnie "CellTableView" w twoim przypadku ... – eLwoodianer
Rozumiem. Dziękuję Sam. już działa. – Adrian