1
resposta

[Dúvida] Mudanças no NSKeyedUnarchiver

Quando fazemos o código a seguir explicado em aula:

override func viewDidLoad() {
        guard let diretorio = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first else {return}

        let caminho = diretorio.appendingPathComponent("refeicao")

        do{
            let dados = try Data(contentsOf: caminho)
            guard let refeicoesSalvas = try NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(dados) as? Array<Refeicao> else {return}

            refeicoes = refeicoesSalvas
        } catch {
            print(error.localizedDescription)
        }

Temos um aviso que devemos usar:

NSKeyedUnarchiver.unarchivedObject(ofClass: #TNSCoding.Protocol, from: #Data)

Ao invés do:

NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(#Data)

O problema é que não temos nenhuma base do que usar nos parâmetros:

(ofClass: #TNSCoding.Protocol, from: #Data)

Já tentei usar explicação feita em outro tópico, porém, não funcionou. Tive que usar o antigo método(usado na aula), que com o tempo se depreciará.

Se tiverem como nos ajudar atualizando o exemplo do vídeo, agradecemos!

Muito obrigado desde já.

1 resposta

Oi Gabriel, tudo bem?

Desculpe a demora em retornar.

Esse curso foi desabilitado e recebeu uma atualização e você pode acessar aqui:

Um abraço e bons estudos.