Boa noite,
tem tres topicos falando que nao esta funcionando e sem solução....
aqui tambem, nao aparece o botão de adicionar, e não funciona o CheckMark
//
// ViewController.swift
// eggplant-brownie
//
// Created by Andre de Oliveira Couto on 17/11/21.
//
import UIKit
protocol AdicionaRefeicaoDelegate{
func adicionar(_ refeicao:Refeicao)
}
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
// MARK: - @IBOutlet
@IBOutlet weak var nomeComida: UITextField?
@IBOutlet weak var notaComida: UITextField?
// MARK: - Atributos
var tabelaDeRefeicoes: AdicionaRefeicaoDelegate?
var itens:[String] = ["molho de tomate", "massa pronta","tempero"]
// MARK: - UITableViewDataSource
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return itens.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let celula = UITableViewCell(style: .default, reuseIdentifier: nil)
celula.textLabel?.text = itens[indexPath.row]
return celula
}
// MARK: UITableViewDelegate
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
guard let celula = tableView.cellForRow(at: indexPath) else {return}
if celula.accessoryType == .none {
celula.accessoryType = .checkmark
}
else {
celula.accessoryType = .none
}
}
// MARK: - @IBAction
@IBAction func adicionar(){
//forma safe 2
// if let nome = nomeComida?.text, let felicidade = notaComida?.text {
// if let nota = Int(felicidade) {
// let refeicao = Refeicao(nome:nome, felicidade:nota)
// print("comi \(refeicao.nome) e fiquei feliz nota: \(refeicao.felicidade)")
// }else{
// print("erro ao criar refeicao")
// }
//
//
// }else{
// print("erro ao criar refeicao 1")
// }
//forma safe 2
guard let nome = nomeComida?.text else{
return
}
guard let felicidadeDaRefeicao = notaComida?.text, let felicidade = Int(felicidadeDaRefeicao) else{
return
}
let refeicao = Refeicao(nome:nome, felicidade:felicidade)
tabelaDeRefeicoes?.adicionar(refeicao)
navigationController?.popViewController(animated: true)
}
}