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á.