在视图控制器中使用表视图并将其连接起来

Posted

技术标签:

【中文标题】在视图控制器中使用表视图并将其连接起来【英文标题】:Using a Table View in a View Controller and wiring it up 【发布时间】:2014-12-03 18:41:56 【问题描述】:

我对 xcode 和 Objective-C 还很陌生。这是我的问题:

我有一个视图控制器,上面有按钮和指向其他视图控制器的链接。 在这个视图控制器上,我添加了一个表格视图,其中的单元格将像表单一样使用 单元格将包含文本字段和标签

当尝试设置和构建它时,它给了我一个错误,说我需要以某种方式将我的表视图连接到视图控制器。

我知道这与数据源和表视图委托有关,但我不知道如何将表视图连接到我的视图控制器的数据源和委托。

谁能告诉我怎么做,或者将我链接到一个易于遵循的指南?

谢谢

【问题讨论】:

参加课程或教程。 【参考方案1】:

最简单的方法是创建一个新的 Swift 或 Objective-C 类并用它扩展 UITableViewController。这将为您创建一个关于如何编写 UITableView 数据源和委托的完美示例代码,可以直接复制。

之后,在 viewdidload 中将 UITableViews 委托和数据源属性设置为 self 并实现 UITableViewDataSource、UITableViewDelegate。

编辑

import UIKit

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate 

    @IBOutlet weak var myTable: UITableView!
    var myDataArray: NSArray!

    override func viewDidLoad() 
        super.viewDidLoad()
        myDataArray = NSArray(objects: "Peter", "Paul", "Marry")
        myTable.dataSource = self
        myTable.delegate = self
    

    override func didReceiveMemoryWarning() 
        super.didReceiveMemoryWarning()
    

    //MARK: TableView DataSource
    func numberOfSectionsInTableView(tableView: UITableView) -> Int 
        return 1
    

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
        return myDataArray.count
    

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 
        var cell: UITableViewCell? = tableView.dequeueReusableCellWithIdentifier("Cell") as? UITableViewCell

        if (cell == nil) 
            cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "Cell")
        

        cell?.textLabel.text = myDataArray.objectAtIndex(indexPath.row) as NSString

        return cell!
    

    //MARK: TableView Delegate
    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) 
        tableView.deselectRowAtIndexPath(indexPath, animated: true)
    

我快速为您连接了一些 Swift 示例代码,您可以在其中了解如何将表格视图与您的类的 DataSource 和 Delegate 连接起来。

【讨论】:

嗨,尼奥,非常感谢。我理解所有这些,直到实现数据源和视图委托。我究竟如何实现这些?对不起,如果我真的很笨 Here你有一步一步的指导

以上是关于在视图控制器中使用表视图并将其连接起来的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 从视图中的表单填充数据库表并将其显示在同一视图中

IOS/Swift:将表视图中的对象传递给详细视图控制器

表视图控制器问题

将MapKit注释连接到表视图

mysql数据库视图

如何在视图控制器中访问此表视图?