簡體   English   中英

Swift:ViewController 中的 TableView

[英]Swift: TableView in ViewController

我在MainstoryBoard有一個ViewController 我向其中添加了TableView

主線板:

在此處輸入圖片說明

此外,我在ViewController類之外有一個數組,我希望數組內的對象顯示在TableView

我不知道該怎么做。 我在TableViewViewController之間連接了委托。

您在類聲明下方添加一個新的表視圖實例變量。

@IBOutlet weak var tableView: UITableView!

為了符合UITableViewDelegateUITableViewDataSource協議,只需在類聲明中的UIViewController之后添加以逗號分隔的它們

之后,我們需要在ViewController類中實現tableView(_:numberOfRowsInSection:)tableView(_:cellForRowAtIndexPath:)tableView(_:didSelectRowAtIndexPath:)方法, ViewController將它們留空

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
    ...

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 0 // your number of cells here
    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        // your cell coding 
        return UITableViewCell()
    }

    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        // cell selected code here
    }
}

正如@ErikP 在評論中提到的,您還需要設置

self.tableView.delegate = self

self.tableView.dataSource = self

viewDidLoad方法中。

(或者在 Storyboard 中也很好用)。

我可能遲到了,你現在可能已經解決了這個問題。 您得到的錯誤是由於您的變量或常量返回 nil 值。 要對此進行測試,您可以為其分配一個值(對其進行硬編碼)並檢查完整代碼是否有效,然后將其更改為您的數組,不幸的是我以編程方式進行操作並且對故事板不太熟悉。

如果您分享您的代碼,如果尚未排序,我們將為您提供幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM