Teraz zmieniam się do Swift 3 i skierowałem stanęło z problemem z tabelami, gdy utworzę widok table (w ViewController) i połącz się z klasą, którą otrzymuję ten błąd:

-[UITableViewController loadView] instantiated view controller with identifier "UIViewController-gdE-bi-3N4" from storyboard "Main", but didn't get a UITableView

Nie wiem, co to jest problem i doprowadza mnie do szału, oto mój kod:

    import UIKit

class FindFriendVC: UITableViewController {

    @IBOutlet weak var results: UITableView!


    override func viewDidLoad() {
        super.viewDidLoad()

        self.results.dataSource = self
        self.results.delegate = self
    }



    // MARK: - Table view data source

    override func numberOfSections(in tableView: UITableView) -> Int {
        // #warning Incomplete implementation, return the number of sections
        return 0
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        // #warning Incomplete implementation, return the number of rows
        return 0
    }
}
0
no one 15 luty 2017, 21:33

2 odpowiedzi

Najlepsza odpowiedź

Dlaczego tworzysz dodatkową UITableView IBOutlet?

Każdy UITableViewController ma ukryte właściwość tableView z wstępnie podłączonym {x2}} i Delegate.

Kasować

@IBOutlet weak var results: UITableView!
...
self.results.dataSource = self
self.results.delegate = self

I użyj właściwości tableView.

0
vadian 15 luty 2017, 18:41

Nie sądzę, że potrzebujesz iBoutlet w kontrolerze Tableview - to jest coś, czego potrzebujesz, jeśli używasz regularnego ViewController z udokumentami USableView, aby kontrolować tabelę.

EDYCJA: To, co zwykle robię, jest dodawanie UrzędowegoView do regularnego ViewController w budowniczym, kliknij prawym przyciskiem myszy przeciągnij z tableview do ikony ViewController (żółte koło z białym kwadratem)

enter image description here

I podłączyć Delegata i DataSource. Następnie dodaj klas UITableViewDelegate i UITableViewDasource do przeglądarki Widok i podłączyć Numeryfikacje Tableview I NumberOfrowsInsinsSIns, jak powyżej, z wyjątkiem umieszczania całego kodu w klasie ViewController, a nie klasę UITITEViewController.

Mam nadzieję, że to pomoże.

0
Trev14 15 luty 2017, 18:48