Я пытаюсь построить uitableviewcontroller, и у меня возникают трудности с быстрым 3. Всякий раз, когда вызывается номерOfRowsInSection, он вызывается 4 раза, а затем приложение вылетает. Кто-нибудь знает, как реализовать это быстро 3?numberOfRowsInSection вызывает сбой в swift 3
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 6;
}
В массиве есть 6 элементов, которые я хочу заполнить таблицей. Я распечатал подсчет массива для подтверждения. это контроллер полного обзора.
class PCRInpatientsViewController: UITableViewController
{
var listInpatient = [PCRPatient]();
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated);
self.tableView.delegate = self;
self.tableView.dataSource = self;
self.tableView.separatorStyle = UITableViewCellSeparatorStyle.none;
self.title = "Inpatients";
let view = self.view.frame;
let background = UIView(frame: view);
background.backgroundColor = Constants.medisasDarkGrey;
self.tableView.backgroundView = background;
self.definesPresentationContext = true;
getPatients();
createUI();
}
func getPatients() {
var array = [PCRPatient]();
let i = Patients.sharedInstance.patients
for int in 0..<i.count {
let d = i[int];
if d.status == PCRPatientStatus.PreAdmit {
print(d.name)
array.append(d);
}
}
print(array.count);
self.listInpatient = array;
}
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated);
}
func createUI(){
self.navigationController?.navigationBar.barTintColor = Constants.medisasRed;
self.navigationController?.navigationBar.isTranslucent = false;
self.navigationController?.navigationBar.tintColor = UIColor.white();
self.navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName:UIColor.white()];
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 6;
}
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 150;
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> PCRCustomCell {
let patient = listInpatient[indexPath.row];
print("sjddsodkso \(patient.name)");
let cell = PCRCustomCell(reuse: "Inpatient", patient: patient);
cell.contentView.backgroundColor = Constants.medisasGrey;
return cell;
}
}
Я проверил и в массиве 6 элементов. Я добавил контроллер полного представления – PCR
То, что он изначально был, но я изменил его на 6, потому что он рушился, и я хотел посмотреть, не сработает ли он, если бы я написал 6. Он все равно падает. Это бы хорошо работало в старом быстром, поэтому я считаю, что некоторые изменения с быстрым 3 являются причиной. – PCR
Я полагаю, что я отнесусь к кому-то с большим знанием. Я с нетерпением жду, чтобы узнать, в чем проблема. –