Я пытаюсь создать приложение с таблицей с 3 ячейками
Я хочу расширить UITableViewController, а не UIViewController, поэтому я придумал это
//
// TodoListTableViewController.swift
// ListHue
//
// Copyright © 2018 LR Web Design. All rights reserved.
//
import UIKit
class TodoListTableViewController: UITableViewController {
let items = ["Find Mike", "Buy Eggos", "Kill Demogorgon"]
// viewDidLoad
override func viewDidLoad() {
super.viewDidLoad()
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return items.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "ToDoItemCell", for: indexPath)
cell.textLabel?.text = items[indexPath.row]
return cell
}
}
Я продолжал получать эту ошибку при запуске своего приложения
2018-08-01 09:26:53.151150-0400 ListHue[4673:207209] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "r5i-1Z-XpF-view-oGI-0m-9XK" nib but didn't get a UITableView.'
Вкладка подключения
Это скриншот всего моего дела
Как можно дальше отлаживать это?
Я уже смотрел на это. Я хочу расширить UITableViewController, а не UIViewController.
Вы также расширяете UITableViewController в заголовке?
Заголовок, в каком файле? - если не возражаете, расскажите поподробнее
Можете ли вы github эту демонстрацию
вы подключили источник данных и делегировали
@Sh_Khan: вот ты? github.com/bunlongheng/listhue
@V_rohit: у меня нет, но я не думаю, что мне нужно это делать, так как я расширил с UITableViewController, а не с UIViewController





Что ж, на самом деле UITableViewController ожидает, что его свойство "view" имеет тип UITableView. Самый простой способ создать его в раскадровке - использовать соответствующий объект из коллекции (панель в правом нижнем углу). В вашем случае кажется, что вы взяли UIViewController из коллекции, а затем просто добавили на него UITableView.
Итак, у вас есть два варианта:
Table view controller из коллекции.view вашего контроллера. И не забудьте также подключить делегат и источник данных вашего табличного представления в этом случае.Как мне это сделать ? Можете ли вы в своем ответе рассказать, как это сделать?
Но подключать это в UITableViewController не нужно.
@ Антон, есть еще какие-нибудь предложения для меня?
@kyo Обновил мой ответ
Понятно, и спасибо вам за это. Ваш комментарий предлагает мне, как исправить базу на основе того, что у меня есть в моем сенарио, или вы пытаетесь рассказать мне несколько способов исправить это. Я сейчас очень запутался.
@kyo содержит два способа исправить вашу проблему. Я разделю их на пару минут для удобства
Думаю, теперь твой ответ выглядит немного лучше. Спасибо за ваши усилия и время.
Проблема в том, что вы перетащили таблицу в экземпляр UIViewController, но вам нужно перетащить UITableViewController из библиотеки объектов,
Корневой вид для tableViewController должен быть UITableView, а не UIView, как UIViewController.
а также подключить datasource и delegate ; D
@V_rohit: Мне NOT нужно делать это по-своему. XCode позаботится об этом автоматически, так как я выбрал правильный класс, которым является UITableViewController.
очень зоркие глаза; D