Para compilar e rodar tive que trocar o "as ViewController" por "as! ViewController". Alguém sabe o que significa este "as!" ?
Para compilar e rodar tive que trocar o "as ViewController" por "as! ViewController". Alguém sabe o que significa este "as!" ?
Fiz o mesmo e ele nao atualiza a Table, mantem os registros que carreguei inicialmente
No meu caso atualizou a table sim.
veja o código que rodou bem:
class MealsTableViewController: UITableViewController, ViewControlerDelegate {
var meals = [
Meal(name: "Macarrão", happiness: 5),
Meal(name: "Pizza", happiness: 3)]
func add(meal:Meal) {
meals.append(meal)
tableView.reloadData()
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "addMeal" {
let view = segue.destinationViewController as! ViewController
view.delegate = self
}
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return meals.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: nil)
cell.textLabel!.text = meals[indexPath.row].name
return cell
}
}
Oi Carlos,
A Apple mudou um pouco a sintaxe do Swift e por isso passou a acontecer esse erro. O as! é pra forçar o cast para ViewController.
Dependendo da versão do Xcode que você utilizar, este erro pode acontecer.
Abraço