Я пытаюсь создать приложение для напоминаний, и у меня есть контроллер представления с представлением таблицы.Когда я нажимаю кнопку, появляется всплывающее окно для ввода имени и описания.Когда я закрываю всплывающее окно, текст, введенный в два текстовых поля, не отображается в ячейке моего табличного представления.Функция печати состояла только в том, чтобы проверить, было ли добавлено имя и описание категории ко всем категориям, что и было.
@IBAction func createPressed(_ sender: Any) {
allCategories.append(Categories(name: nameTF.text!, description: descriptionTF.text!, activities: []))
print(allCategories)
dismiss(animated: true, completion: nil)
}
отредактируйте вот код в контроллере представления, который имеет табличное представление: Edit # 2: Я распечатал все категории в viewWillAppear под reloadData (), и он печатает правильную вещь.Я изменил возвращаемое значение в numberOfRowsInSection на allCategories.count, и теперь он отображает содержимое в табличном представлении, но каждый раз, когда я добавляю категорию / описание, он неоднократно отображает первую категорию и описание.Кроме того, он отображает название категории в одной ячейке и описание в другой, я просто хочу, чтобы он отображал имя и имел описание в виде подзаголовка
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var theTableView: UITableView!
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return allCategories.count
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
//when cell is pressed
}
func numberOfSections(in tableView: UITableView) -> Int {
return allCategories.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: UITableViewCell.CellStyle.default, reuseIdentifier: "myCell")
cell.textLabel!.text = allCategories[indexPath.row].name
return cell
}
override func viewWillAppear(_ animated: Bool) {
theTableView.reloadData()
print(allCategories)
}