4
respostas

erro com Thread

O que é Thread 1:breakpoint 1,1? Sempre que rodo meu código ele chega até a tela de inserção mas na hora de inserir para nesse erro,

ViewController

class ViewController: UIViewController  {

    @IBOutlet var nameField : UITextField?
    @IBOutlet var happinessField : UITextField?
    var delegate : ViewControllerDelegate?

    @IBAction func add() {
        if(nameField == nil || happinessField == nil) {
            return
        }

        let name:String = nameField!.text!

        if let happiness = Int(happinessField!.text!) {
            let meal = Meal(name: name, happiness: happiness)

            print("eaten \(meal.name) with happiness \(meal.happiness)!")

            if (delegate == nil) {
                return
            }

            delegate!.add(meal) # o erro ocorre nessa linha 


            if let navigation = navigationController {
                navigation.popViewController(animated: true)
            }
        }
    }
4 respostas

Oi Cesar, tudo bem ?

Em qual momento você está criando o delegate ?

Oi Matheus!

Acho que neste momento aqui, quando crio um arquivo ViewControllerDelegate.swift:

import Foundation

protocol ViewControllerDelegate {
    func add(_ meal: Meal)

}

Este arquivo está na pasta models.

Acho que me expressei da forma errada, em qual momento você cria uma referência do seu delegate ?

Seria nesse caso aqui?

insira seu código aquiclass ViewController: UIViewController {

@IBOutlet var nameField : UITextField? @IBOutlet var happinessField : UITextField? var delegate : ViewControllerDelegate? ...

Ou seja, na criação do ViewController.

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