1
resposta

Navegacao entra telas programaticamente

Olá, estou com um problema, e não consigo identificar o motivo.

Quando vou chamar outra tela programaticamente, o compilador não me deixar executar o código.

@objc func showNewItem() {
        let newItem = NewItemViewController(delegate: self)
        if let navigation = navigationController{
            navigation.pushViewController(newItem, animated: true)
        }
    }

Na segunda linha desse código, recebo o seguinte error: Argument labels '(delegate:)' do not match any available overloads

Meu construtor do controller NewItemViewController se encontra assim:

init(delegate: AddAnItemDelegate) {
        super.init(nibName: "NewItemViewController", bundle: nil)
        self.delegate = delegate
    }

Estou utilizando Xcode mais recente 9 com Swift 4

1 resposta

Olá Márcio!

A classe do método showNewItem() está implementando o protocolo AddAnItemDelegate? Ele é necessário para o objeto self passado no init.

Se sua classe já estiver implementando este protocolo, clica em Product > Clean e depois Product > Build que deve resolver o problema.

Nos avisa se resolveu!!! Qualquer dúvida, estamos a disposição!!

Att., Tais