Domanda

Per la mia applicazione corrente sto usando l'approccio NSKeyedArchiver a persistere miei oggetti per l'iPhone tra i lanci. Mi chiedo se ha senso per contrassegnare questo file quando è stato creato con un numero di versione in modo che in futuro, quando i giri app sapremo che tipo di dati abbiamo a che fare con la migrazione dovrebbe essere necessario. E 'questo raccomandato per qualcosa di semplice come un NSArray di oggetti personalizzati che vengono serializzati con NSKeyedArchiver? Se sì, come / dove riporre il numero di versione?

Grazie!

È stato utile?

Soluzione

Se ti senti come il formato cambierà, allora sì, si vorrà qualche modo per rilevare quale versione del file che si sta lavorando con. Un modo semplice per fare questo (dal momento che si sta utilizzando NSArray) potrebbe essere quella di aggiungere semplicemente il numero di versione come NSNumber a uno all'inizio o alla fine della matrice. In alternativa, per un approccio più complesso che in realtà non cambia i file, è possibile memorizzare le informazioni in un file separato (ad esempio, utilizzando un NSDictionary che lega il nome del file e il numero di versione). In alternativa, è possibile utilizzare il sistema di default all'utente di memorizzare, e se è frome una versione precedente, aggiornare il file e il tasto impostazioni predefinite dell'utente.

Non vorrei usare il secondo metodo, a meno che non hai a che fare con più file di dati a chiave. Di questi tre, probabilmente sarei scegliere l'ultimo, ma ci può essere un altro modo per farlo che ha più senso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top