在视图控制器中使用表视图并将其连接起来
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你有一步一步的指导以上是关于在视图控制器中使用表视图并将其连接起来的主要内容,如果未能解决你的问题,请参考以下文章