按钮上的学生列表单击swift

时间:2016-08-13 05:13:12

标签: ios swift

在我的main.storyboard中有“所有学生”按钮。当点击“所有学生”按钮时,我需要打开学生列表。

学生已经保存在领域数据库中。到目前为止,我已经完成了以下工作: -

  1. 从对象库拖动视图控制器并放置在空白区域。
  2. 还在视图控制器中拖动了表视图和表视图单元格。
  3. 从“所有学生”按钮创建一个模态segue到此视图控制器。
  4. 已将单元格标识符指定给“Cell”并将segue标识符指定为“rList”
  5. 在vieController中,我做了以下更改: -

    Class vieController: UIvieController, UITextfieldDelegate
    

    到下面:

    Class vieController: UIvieController, UITextfieldDelegate, UITableViewDelegate, UITableViewDatasource.
    

    但是在viewDidLoad中低于错误:

      

    致命错误:在解开可选值时意外发现nil

    在下面一行:

    table1.dataSource = self
    

    没有得到我将如何实现这个学生名单。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

删除 table1.dataSource = self

然后从storyboard转到tableView的Connections Inspectors 之后将dataSource拖到viewController

还要确保您的tableView插座已正确连接。

我希望这可以帮到你

答案 1 :(得分:0)

首先,您应该检查以确保视图控制器中有正确的表视图插座。我在截图中显示了如何创建表视图插座。

How to add a table view outlet.

然后您可以使用

self.tableView.dataSource = self 
在viewDidLoad中

就获取数据而言,您可以将数据放入视图控制器中的数组属性中。

如果从网络加载数据,则应在加载数据后使用tableView.reloadData()重新加载表视图。

您似乎缺少的其他部分是UITableViewDataSource所需的数据源方法。

有两个必需的功能,它们属于您的视图控制器。

我在下面提供了最少的大纲,以帮助您入门。

func tableView(tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
    // The cell identifier is set in your storyboard.
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)

    // Do stuff like set values on labels in the cell.
    cell.label.text = “text to display”
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
{
    // Return the number of cells to be displayed.
    return 10
}