我正在尝试创建一个表作为我的应用程序的主屏幕,我遇到了一些问题。我正确地设置了main.storyboard,但是我有一个覆盖函数“我没有覆盖超类”。错误发生在nuberOfRowsInSection覆盖功能行上。这是我的代码:
import UIKit
class ViewController: UITableViewController {
var candies = [Candy]()
@IBOutlet weak var editButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup
// after loading the view.
self.candies = [Candy(name: "Jolly Rancher"),Candy(name: "Snickers"),Candy(name: "Twix"),Candy(name: "Butterfinger"),Candy(name: "Milky Way")]
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func tableView(tableView: UITableView, nuberOfRowsInSection section: Int) -> Int {
return self.candies.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = self.tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell
var candy : Candy
candy = candies [indexPath.row]
cell.textLabel?.text = candy.name
}
@IBAction func editButtonPressed(sender: UIButton) {
editButton.setTitle("Save", forState: UIControlState.Normal)
}
}
答案 0 :(得分:0)
你输错了。您调用方法nuberOfRowsInSection
。缺少'n'。该方法应称为numberOfRowsInSection
。
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.candies.count
}
您的cellForRowAtIndexPath
方法也出错了。你必须返回单元格:
return cell
答案 1 :(得分:0)
只是一个猜测:
// this should read "numberOfRowsInSection": ~~v
override func tableView(tableView: UITableView, nuberOfRowsInSection section: Int) -> Int {
return self.candies.count
}
据我所知,UITableViewController
没有带参数nuberOfRowsInSection
的方法,但确实有参数numberOfRowsInSection
的方法。
在处理不起作用的事情时,请先查看代码中的拼写错误。