2017-02-15 86 views
0

我現在轉向迅速3,我面臨着當我創建一個表視圖(在的viewController)的tableViews問題,連接到一類我得到這個錯誤:SWIFT 3的tableview崩潰

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

我不知道是什麼問題,它的駕駛我瘋了,這裏是我的代碼:

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

檢查'結果'IBOutlet是否連接正確。它似乎結果連接到不是'UITableView' – sasquatch

+0

@no one在你的故事板,你需要使你的UITableViewController的根視圖UITableView –

回答

0

爲什麼你創建一個額外的UITableViewIBOutlet

每個UITableViewController都有一個隱含的屬性tableView與預連接DataSourceDelegate

刪除

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

,並使用tableView屬性。

+0

我正在使用常規的視圖控制器,這就是爲什麼我需要連接tableView –

+0

然後你的代碼很混亂。它絕對是* UI ** Table ** ViewController *的子類。 – vadian

+0

@你能不能更清楚你所做的所有步驟? –

0

我不認爲你需要的IBOutlet中的泰伯維控制器 - 也就是你只需要的東西如果您使用帶有UITableView委託的常規ViewController來控制表格。

編輯:我最常做的就是添加一個UITableView到正規的ViewController在構建器中,右鍵單擊拖動從tableview中到ViewController圖標(白色方形黃色圓圈)

enter image description here

,並連接數據源代表&。然後將UITableViewDelegate和UITableViewDataSource類添加到視圖控制器&鉤住tableView numberOfSections & numberOfRowsInSection像上面那樣,除了將所有代碼放在viewController類中,而不是UITAbleViewController類中。

希望有所幫助。

+0

我正在使用一個常規的視圖控制器,這就是爲什麼我需要連接tableView –

+0

檢查我剛剛編輯的 – Trev14

+0

對不起,我確定了問題,當我切換到swift 3我誤解了文檔XD,我真的需要一些睡眠!無論如何,我解決了我很愚蠢的問題!謝謝 –