2015-02-02 3 views
0

Я пытаюсь создать таблицу в качестве основного экрана моего приложения, и у меня возникают некоторые проблемы. Я правильно настроил main.storyboard, но есть функция override, которая у меня есть, что «не переопределяет суперкласс». Ошибка находится в строке поддержки переопределения nuberOfRowsInSection. Вот мой код:Настройка контроллера таблицы в Swift?

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

Я поймал орфографическую ошибку, но после того, как я установил, что ошибка переместилась в закрывающуюся фигурную скобку после cell.textLabel? .text = candy.name –

+0

Какая ошибка? – Christian

+0

Отсутствует возврат в ожидаемую функцию UITableViewCell –

ответ

0

У вас есть типизация ошибки. Вы вызываете метод nuberOfRowsInSection. Существует «n» отсутствует. Метод следует называть numberOfRowsInSection.

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return self.candies.count 
} 

Также есть собственная ошибка в методе cellForRowAtIndexPath. Вы должны вернуть клетку:

return cell 
+0

Упс спасибо. но когда я делаю это, ошибка переходит к закрывающей фигурной скобке после cell.textLabel? .text = candy.name –

0

Только предположение:

// this should read "numberOfRowsInSection": ~~v 
override func tableView(tableView: UITableView, nuberOfRowsInSection section: Int) -> Int { 
    return self.candies.count 
} 

Насколько я знаю, UITableViewController не имеет метода с параметром nuberOfRowsInSection, но у него есть один с параметром numberOfRowsInSection.

При работе с чем-то, что не работает, пожалуйста, начните с проверки кода на наличие орфографических ошибок.

Смежные вопросы