import UIKit
class ToDoViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var DateLabel: UILabel!
@IBOutlet weak var MonthLabel: UILabel!
@IBOutlet weak var DayLabel: UILabel!
@IBOutlet weak var tableView: UITableView!
@IBOutlet weak var newButton: UIImageView!
static var ToDoEvents:[event] = []
override func viewDidLoad() {
super.viewDidLoad()
ToDoViewController.readFromFile()
let nib = UINib(nibName: "CustomCell", bundle: nil)
tableView.register(nib, forCellReuseIdentifier: "customCell")
}
public static func readFromFile(){
ToDoViewController.ToDoEvents.append(event(eventName: "Spanish Workbook", eventLength: 3601, complete: false))
ToDoViewController.ToDoEvents.append(event(eventName: "History Test", eventLength: 37, complete: false))
ToDoViewController.ToDoEvents.append(event(eventName: "Lit Essay", eventLength: 40, complete: false))
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return ToDoViewController.ToDoEvents.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "customCell") as! CustomCell
let currentEvent = ToDoViewController.ToDoEvents[indexPath.row]
let eventName = currentEvent.name!
let eventLength = currentEvent.time!
let completion = currentEvent.isComplete!
print(eventName)
print(eventLength)
print(completion)
cell.customInit(name: "\(eventName)", time: "\(eventLength)", completed: completion)
return cell
}
}
В настоящее время я пытаюсь создать приложение со списком задач.Я использую UITableView для отображения информации, и у меня есть пользовательский UITableViewCell под названием «CustomCell», который я использую для отображения информации в табличном представлении.Однако, когда я запускаю этот код, на экране ничего не появляется.Я также добавил некоторые операторы печати в метод CellForRowAtIndexPath, и эти операторы печати не выполняются.Затем я попытался добавить
self.tableView.delegate = self
self.tableView.dataSource = self
, однако, когда я пытаюсь запустить приложение с этим дополнительным кодом, приложение вылетает, выдавая следующую ошибку:
Terminating app due to uncaught exception
'NSInternalInconsistencyException', reason:
'Could not load NIB in
bundle: 'NSBundle
</Users/sid/Library/Developer/CoreSimulator
/Devices/812843C0-ABBA-43E9-A391-
0BED3CBB5030/data/Containers/Bundle
/Application/F8DABFF7-80ED-49E1-8760-315C3C99AFB1/TimeIt.app>
(loaded)' with name 'CustomCell''
Я также просмотрел несколькоучебные пособия, в которых описывается, как выполнить добавление пользовательской ячейки в код, и ни один из этих учебников не использует tableView.delegate = self или tableView.dataSource = self code.
Я не уверен, что делаюнеправильно.Все помощь приветствуется
Спасибо заранее!