стол с черным экраном - PullRequest
0 голосов
/ 07 мая 2018

У меня есть приложение с 3 просмотра. Первое - это главное меню, второе - это (список названий песен). У меня есть 800 заголовков для отображения. Я хочу реализовать табличное представление, которое показывает все это название. Когда я пытаюсь запустить сборку правильно, но когда я перехожу к представлению таблицы, я вижу только черный экран на моем iPhone. Я пытался много раз, и я обнаружил это: если я удаляю свое приложение с iPhone и настраиваю его в первый раз, все идет правильно, но если я пытаюсь запустить второе, экран становится черным. Я попробовал свой iPhone X и эмулятор. в чем проблема?

Мой второй вопрос: возможно ли сохранить все мои массивы в другом файле, а не в TableViewController? Спасибо всем.

 import UIKit

class TableViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

    //Creo le sezioni
    let sections = ["A","B","C","D","E","F","G",]

    //Creo i vari Array divisi per lettere
    let cantiA: [String] = ["A BRUSA SÜTA ‘L SUSA","A DESTRA DELL’ISONZO","A FERRO FREDDO","A L’È SIRA","A L’OSPEDAL DI GENOVA","A LA MATIN BONURA","A LA MODA D’II MÔNTAGNÔN","A LA TOR VANGA","A MASSAUA","A MEZZANOTTE IN PUNTO","A PLAN CALE IL SORELI","A VAN I BRAVI ALPIN","A’ VAN SISÌLIS","ABANDONO","ABBIAM LE SCARPE GROSSE","ADAMELLO","ADDIO CARA MAMMA","ADDIO MIA BELLA, ADDIO","ADDIO NINETTA","ADESSO DORMI","ADUA","AI COMANDI","AI MORTI PER LA PATRIA","AI PREÂT","AL CJANTE IL GIÂL","AL COLONNELLO TINIVELLA","AL COMANDO DEI NOSTRI UFFICIALI","ALL’ALPINO D’ITALIA","ALL’ARMI, ALL’ARMI BERSAGLIERI","ALLA MATTIN","ALLA MATTINA","ALLA MATTINA SI GH’È ‘L CAFÈ","ALLA PRESA DEL CAVENTO","ALPIN JO MAME","ALPINI","ALPINI DELL’OROBICA","ALPINI IN MONTAGNA","ALPINI MITRAGLIERI","ALPINO DELLA JULIA","ALPINO MIO BELL’ALPINO","ALPINO PARTIGIANO","AMA CHI T’AMA","AMA IL VECCHIO","AMICI MIEI","AMILCARE","AMMORE AMMORE","AN VAL DONDONA","ANCHE MIO PADRE","ANCHE SE PESA","ANCORA ‘STI QUATRO","ANDOUMA PROU","ANDREMO IN FRANCIA","APPENA SUL PASUBIO","APRI LA PORTA","APRILE SENZA UN FIORE","APRITE LE PORTE","ARDA BÈRGHEM","ARSO","ARTIGLIERE","ASCOLTATE AMICI CARI","ATTRAVERSO VALLI E MONTI","AU MONT BLANC","AUGELLIN DI PRIMAVERA","AVE, O VERGINE","AVER ‘NA FIGLIA SOLA SOLETA","AVEVA QUINDICI ANNI","AYAS","AZZURRI MONTI"]

    let cantiB: [String] = ["BALDI E FORTI"]

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        print("section: \(indexPath.section)")
        print("row: \(indexPath.row)")
    }

    func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
        return sections[section]
    }

    func numberOfSections(in tableView: UITableView) -> Int {
        return sections.count
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        switch section {
        case 0:
            // Fruit Section
            return cantiA.count
        case 1:
            // Vegetable Section
            return cantiB.count
        default:
            return 0
        }
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        // Create an object of the dynamic cell “PlainCell”
        let cell = tableView.dequeueReusableCell(withIdentifier: "PlainCell", for: indexPath)
        // Depending on the section, fill the textLabel with the relevant text
        switch indexPath.section {
        case 0:
            // Fruit Section
            cell.textLabel?.text = cantiA[indexPath.row]
            break
        case 1:
            // Vegetable Section
            cell.textLabel?.text = cantiB[indexPath.row]
            break
        default:
            break
        }
        return cell
    }

}

enter image description here

enter image description here

1 Ответ

0 голосов
/ 08 мая 2018

Я не уверен, но я думаю, что ваша проблема в первой строке, где вы объявляете ваш TableViewController как подкласс UIViewController . Разве это не должен быть подкласс UITableViewController , чтобы иметь UITableView для заполнения данными?

у вас есть:

class TableViewController: UIViewController, ...

может быть, это поможет:

class TableViewController: UITableViewController {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...