【发布时间】:2016-07-27 15:45:57
【问题描述】:
我正在为我的学校设计一个应用程序,并且我正在尝试使用视图控制器中的 tableview 创建一个简单的目录。我开始尝试制作对象,但后来切换到更简单的数组,仍然没有任何运气。我不知道这是代码问题还是故事板问题。这是视图控制器的代码:
import UIKit
class DirectoryViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var backButton2: UIButton!
@IBOutlet weak var directoryTableView: UITableView!
// @IBOutlet weak var nameLabel: NSLayoutConstraint!
// let searchController = UISearchController(searchResultsController: nil)
// var directoryObjects: NSMutableArray! = NSMutableArray()
var names = ["Teacher 1", "Teacher 2", "Teacher 3"]
override func viewDidLoad() {
super.viewDidLoad()
/*
self.directoryObjects.addObject("Teacher 1")
self.directoryObjects.addObject("Teacher 2")
self.directoryObjects.addObject("Teacher 3")
self.directoryTableView.reloadData()
*/
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
// Mark - tableview
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return 3
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let directoryCell = self.directoryTableView.dequeueReusableCellWithIdentifier("directoryCell", forIndexPath: indexPath) as! DirectoryTableViewCell
// directoryCell.directoryLabel.text = self.directoryObjects.objectAtIndex(indexPath.row) as? String
directoryCell.directoryLabel.text = names[indexPath.row]
return directoryCell
}
@IBAction func backButton2Tapped(sender: AnyObject) {
self.dismissViewControllerAnimated(true, completion: nil)
}
}
这是 DirectoryTableViewCell 的代码:
import UIKit
class DirectoryTableViewCell: UITableViewCell {
@IBOutlet weak var directoryLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
/*
func directoryTableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
}
*/
}
【问题讨论】:
-
设置代表。
-
是在代码中还是在故事板中?
-
要么,这取决于你。我将添加说明作为答案
-
或者在情节提要中,您可以从
tableView拖动到您的DirectoryViewController(视图顶部带有白色方块的黄色圆圈或文档大纲中)并选择dataSource和delegate。甚至在您选择了tableView后,从页面右侧连接检查器(实用程序面板)中的插座标题下的dataSource和delegate选项中拖动到视图控制器。 -
这里已经回答了。 stackoverflow.com/a/25545185/3947151
标签: ios swift uitableview