Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

AdicionarItensViewController - Problema

Nao estou conseguindo adicionar a classe AdicionarItensViewController. Uma mensagem em vermelho aparece: Use of unresolved identifier 'AdicionarItensViewController'

//
//  ViewController.swift
//  beringela-brownie
//
//  Created by Higor Shindy Kudo on 2019/10/25.
//  Copyright © 2019 Higor Shindy Kudo. 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", "Manjericao", "Pimenta", "Espaguete"]

    var itens:[Item]=[Item(nome: "Molho de Tomate", calorias: 40.0),
                      Item(nome: "Majericao", calorias: 40.0),
                      Item(nome: "Pimenta", calorias: 40.0),
                      Item(nome: "Queijo", calorias: 40.0)]
    var itensSelecionados:[Item] = []


    //MARK: - IBOutlets

    @IBOutlet var nomeTextField: UITextField?
    @IBOutlet var felicidadeTextField: UITextField?


    //MARK: -  View Life Cycle

    override func viewDidLoad() {

        let botaoAdicionarItem = UIBarButtonItem(title: "Adicionar Item", style: .plain, target: self,action: #selector(adicionarItens))

        navigationItem.rightBarButtonItem = botaoAdicionarItem
    }

    @objc func adicionarItens(){
        let adicionarItensViewController = AdicionarItensViewController()
        navigationController?.pushViewController(adicionarItensViewController, animated: true)
    }

    //MARK: - TableViewDataSource

    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 indexDaTabela = indexPath.row
        let item = itens[indexDaTabela]
        celula.textLabel?.text = item.nome
        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
            let linhaDaTabela = indexPath.row
            itensSelecionados.append(itens[linhaDaTabela])
        } else {
            celula.accessoryType = .none
            let item = itens[indexPath.row]
            if let position = itensSelecionados.index(of: item){
                itensSelecionados.remove(at: position)

                // Teste
                for itemSelecionado in itensSelecionados {
                    print(itemSelecionado.nome)
                }
            }
        }

    }


//    func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
//        <#code#>
//    }
    //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, itens: itensSelecionados)

        print("Comi \(String(describing: refeicao.nome)) e fiquei com felicidade:\(refeicao.felicidade)")

        delegate?.add(refeicao)
        navigationController?.popViewController(animated: true)
    }


//    } else {print("Erro ao tentar criar a refeicao.")}


}

1 resposta
solução!

Reiniciei o computador e agora está funcionando.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software