Pessoal, boa tarde.
No curso de Swift o instrutor utilizou NSKeyedArchiver para o armazenamento de dados, porém tenho algumas dúvidas que ficaram em aberto e também se para a aplicação que eu estou tentando fazer, se uso NSKeyedArchiver ou se o mais recomendado seria partir para CoreData ou SQLite, que já verifiquei essa possibilidade na internet.
- No curso foi demonstrado a obtenção e a gravação de dados, sempre através de Arrays, ou seja, se tenho um novo objeto Meal eu devo ter a lista de Meals já instanciada eu faço o append nessa lista e persisto a lista toda, o que eu presumo que ela sobreescreva a lista anterior. Como eu faria para o caso de atualizar um único registro? Ou obter um único registro? Há essa possibilidade usando o NSKeyedArchiver?
Lembrando que uma solução que encontrei na internet seria continuar com a lista instanciada, por exemplo, tenho 10 Meals quero alterar o número 3. Então eu pego ele através do indice altero o que eu preciso e devolvo na mesma posição e continuo gravando o array todo, mas não é isso que eu quero.
- Isso leva a segunda questão, estou fazendo uma aplicação onde eu tenho 3 TableView controladas por um TabController e os registros apresentados em cada uma das tabs pertencem ao mesmo Objeto e o que define se eles serão apresentados na Tab1, 2 ou 3 é uma data vinculada a eles.
Neste caso acima eu teria 3 arrays um para cada Tab, mas eles pertenceriam ao mesmo arquivo, então vamos supor que na Tab 2 eu quisesse atualizar um registro X e quando eu atualizasse, ele fosse persistido e então ele passaria a ser exibido na Tab 3, como eu faria isso através do NSKeyedArchiver? Já que eu vou ser obrigado a persistir o array todo e o array que tenho na Tab 2 não representa o total de registros referente a este arquivo?
Obrigado desde já e desculpe por me estender.