Получение ошибки сборки в tvOS для UITableView ⇐ IOS
-
Anonymous
Получение ошибки сборки в tvOS для UITableView
Я хочу использовать uitableview в tvos для отображения списка строковых данных, но компилятор обнаруживает следующие ошибки в сгенерированном заголовке:
"Нет типа или протокола с именем 'UITableViewDataSource'" И «Попытка использовать прямой класс «UITableView» в качестве суперкласса «TWOSSelectionTableTVOS»» Несмотря на то, что этот код работает, это ios .
Моя структура кода следующая:
SelectionTable.swift:
импортировать UIKit класс TWOSSelectionTableTVOS: UITableView { частный var vDataSrc:[String]! функция SetDataSrc (_ pDataSrc:[String]) { self.vDataSrc = pDataSrc } функция UpdateDataSrc (_ pStringList:[String]) { self.vDataSrc += pStringList } func GetDataSrc() -> [Строка] { вернуть self.vDataSrc } } PaintUI.swift:
импортировать UIKit @objc класс PaintUI: NSObject,UITableViewDelegate, UITableViewDataSource { статический let uShared = PaintUI () @objc статическая функция updateUIMessage() { DispatchQueue.main.async { ExecuteInlineSelectionTable () } } func tableView (_ tableView: UITableView, раздел NumberOfRowsInSection: Int) -> Int { вернуть 5 } func tableView (_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell (withIdentifier: «cell», для: indexPath) cell.textLabel?.text = "привет" возвратная ячейка } func tableView (_ tableView: UITableView, DidSelectRowAt indexPath: IndexPath) { пусть viewcontroller: TWIOSViewController! viewcontroller = StaticContext.sViewController } общедоступная статическая функция ExecuteInlineSelectionTable () { пусть таблица выбора:TWOSSelectionTableTVOS! таблица выбора = TWOSSelectionTableTVOS () таблица выбора.регистр (UITableViewCell.self, forCellReuseIdentifier: «ячейка») selecttable.dataSource = uShared selecttable.delegate = uShared selecttable.isScrollEnabled = true // TODO: добавит таблицу выбора в иерархию представления, но в настоящее время возникает ошибка компиляции } } И, наконец, вызывая PaintUI.updateUIMessage(), он обрабатывает вышеуказанные ошибки только для tvOS, но в случае кода ios работает нормально.
Я хочу использовать uitableview в tvos для отображения списка строковых данных, но компилятор обнаруживает следующие ошибки в сгенерированном заголовке:
"Нет типа или протокола с именем 'UITableViewDataSource'" И «Попытка использовать прямой класс «UITableView» в качестве суперкласса «TWOSSelectionTableTVOS»» Несмотря на то, что этот код работает, это ios .
Моя структура кода следующая:
SelectionTable.swift:
импортировать UIKit класс TWOSSelectionTableTVOS: UITableView { частный var vDataSrc:[String]! функция SetDataSrc (_ pDataSrc:[String]) { self.vDataSrc = pDataSrc } функция UpdateDataSrc (_ pStringList:[String]) { self.vDataSrc += pStringList } func GetDataSrc() -> [Строка] { вернуть self.vDataSrc } } PaintUI.swift:
импортировать UIKit @objc класс PaintUI: NSObject,UITableViewDelegate, UITableViewDataSource { статический let uShared = PaintUI () @objc статическая функция updateUIMessage() { DispatchQueue.main.async { ExecuteInlineSelectionTable () } } func tableView (_ tableView: UITableView, раздел NumberOfRowsInSection: Int) -> Int { вернуть 5 } func tableView (_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell (withIdentifier: «cell», для: indexPath) cell.textLabel?.text = "привет" возвратная ячейка } func tableView (_ tableView: UITableView, DidSelectRowAt indexPath: IndexPath) { пусть viewcontroller: TWIOSViewController! viewcontroller = StaticContext.sViewController } общедоступная статическая функция ExecuteInlineSelectionTable () { пусть таблица выбора:TWOSSelectionTableTVOS! таблица выбора = TWOSSelectionTableTVOS () таблица выбора.регистр (UITableViewCell.self, forCellReuseIdentifier: «ячейка») selecttable.dataSource = uShared selecttable.delegate = uShared selecttable.isScrollEnabled = true // TODO: добавит таблицу выбора в иерархию представления, но в настоящее время возникает ошибка компиляции } } И, наконец, вызывая PaintUI.updateUIMessage(), он обрабатывает вышеуказанные ошибки только для tvOS, но в случае кода ios работает нормально.
Мобильная версия