na parte de selecionar e voltar o que coloquei no print vai, mas o check azulzinho que era pra ficar, não fica e o meu código tá igual do instrutor... segue meu código abaixo
// // ViewController.swift // eggplant-brownie // // Created by sara.batista.d.felix on 21/04/21. // Copyright © 2021 Alura. All rights reserved. //
import UIKit
protocol AdicionaRefeicaoDelegate { func add (_ refeicao: Refeicao) }
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
// Mark: - Atributos
var delegate: AdicionaRefeicaoDelegate?
var itens: [String] = ["Molho de tomate", "Queijo", "Molho apimentado", "Manjericão"]
// Mark: - IBOutlets
@IBOutlet weak var nomeTextField: UITextField?
@IBOutlet weak var felicidadeTextField: UITextField?
// 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)
let linhaDaTabela = indexPath.row
let item = itens[linhaDaTabela]
celula.textLabel?.text = item
return celula
}
// Mark: - UITableViewDelegate
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
guard let celula = tableView.cellForRow(at: indexPath) else { return }
celula.accessoryType = .checkmark
if celula.accessoryType == .none{
celula.accessoryType = .checkmark
} else {
celula.accessoryType = .none
}
}
// Mark: - IBActions
@IBAction func adicionar(_ sender: Any) {
guard let nomeDaRefeicao = nomeTextField?.text else {
return
}
guard let felicidadeDaRefeicao = felicidadeTextField?.text, let felicidade = Int(felicidadeDaRefeicao) else {
return
}
let refeicao = Refeicao(nome: nomeDaRefeicao, felicidade: felicidade)
print("comi \(refeicao.nome) e fiquei com felicidade: \(refeicao.felicidade)")
delegate?.add(refeicao)
navigationController?.popViewController(animated: true)
}
}