gpt4 book ai didi

ios - UITableViewController 在模拟器中显示白色空白屏幕

转载 作者:行者123 更新时间:2023-11-28 12:35:51 24 4
gpt4 key购买 nike

我正在尝试制作一个非常简单的 iOS 应用程序,它从一个 UITableViewController 开始,当您单击每个单元格时( children 应该学习的一种不同方式),它会将特定数据推送到 UIViewController。我在单元格中添加了占位符信息,但是当我运行模拟器时,只显示一个空白屏幕。我在下面附上图片和代码。

Main Storyboard

Simulator

class TableViewController: UITableViewController {

override func viewDidLoad() {
super.viewDidLoad()
}


@IBAction func backBtn(_ sender: AnyObject) {
dismiss(animated: true, completion: nil);
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}

override func numberOfSections(in tableView: UITableView) -> Int {
return 0
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 0
}

}

class ViewController: UIViewController, UITableViewDelegate {

@IBOutlet var tableView: UITableView!

var names = ["Manner 1", "Manner 2", "Manner 3", "Manner 4", "Manner 6", "Manner 7", "Manner 8"]

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 8
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = self.tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath as IndexPath) as! Manner2Cell

cell.name.text = names[indexPath.row]

return cell
}

}

//Manner2Cell actually refers to the first cell. I know I know bad naming convention.

class Manner2Cell: UITableViewCell {
@IBOutlet weak var name: 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
}

}

看着所有这些,我似乎有一些重复的代码。我觉得这很容易解决,但我就是想不通!

最佳答案

您必须将 ViewController 设置为 tableViewdataSource 并采用 UITableViewDataSource 协议(protocol)。

class ViewController: UITableViewDelegate, UITableViewDataSource, ... {
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self // Assigns ViewController as delegate for tableView
tableView.dataSource = self
}

关于ios - UITableViewController 在模拟器中显示白色空白屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40960391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com