Olá, e aí tudo bem? Eu fiz esse playground básico para ver como funciona o Protocol, mas não consegui fazer acontecer. Eu acho que entendi o conceito. Se puderem me ajudar desde já fica minha gratidão.
class pessoa: delegateCPF { private var nome: String? private var idade: Int? private var cpf: Int?
init(nome: String?, idade: Int?, cpf: Int?) {
self.nome = nome
self.idade = idade
self.cpf = cpf
}
func getNome() -> String{
var coletaNome = ""
if let nome = self.nome{
coletaNome = nome
}
return coletaNome
}
func getIdade() -> Int{
var coletaIdade = 0
if let idade = self.idade{
coletaIdade = idade
}
return coletaIdade
}
func getCPF() -> Int{
var coletaCPF = 0
if let cpf = self.cpf{
coletaCPF = cpf
}
return coletaCPF
}
}
protocol delegateCPF { func getCPF() -> Int }
var delegate: delegateCPF? var person = pessoa(nome: "Leo", idade: 12,cpf: 031)
var pega = delegate?.getCPF()
print("Meu nome é (person.getNome()) e tenho (person.getIdade()) anos.")
//quero imprimir através do delegado meu cpf, mas só retorna nil print("(pega)") person.getCPF()