Sto lavorando a un'app di dati di base (per iPhone 3.0, anche se non credo che faccia davvero la differenza qui) e dovrà essere spedito con un database "di avviamento" pieno di dati. Con SQLite, dovrei semplicemente copiare l'app del database popolato dal bundle nella directory dei documenti dell'app al primo avvio e quindi caricare quel database: tutte le informazioni sarebbero arrivate e saremmo pronti a partire. Ma con Core Data, non sono sicuro di poter salvare l'archivio Persistent nel pacchetto App e copiarlo prima che Core Data inizi a fare il suo dovere. Ciò causerà problemi? C'è un bel po 'di dati iniziali, quindi non voglio comprimerlo in un altro formato e devo analizzarlo.Fornire dati di base per l'applicazione Core Data?
risposta
Sì, è possibile copiare su un archivio persistente pre-compilato.
Ho creato un'applicazione Mac che popola un negozio. È copiato nel mio pacchetto e all'inizio, copiato nella directory di Documenti. Funziona bene Mi è stato detto che l'esempio di Core Data Books è stato sviluppato allo stesso modo.
Si prega di notare che questo non significa che è sufficiente copiare su qualsiasi vecchio file SQLite. Deve essere un archivio persistente di Core Data, anche se penso che tu capisca quello in base alla tua domanda.
Pensi che sia corretto inserire popolarmente lo store persistente nella prima esecuzione della mia app? Questo non renderebbe la mia app considerevolmente più piccola da trasferire poiché dovrei includere un database SQLite? – leolobato
Se la tua app può farlo rapidamente, senza fare arrabbiare un utente in attesa, allora sembra un bel modo per farlo. – Hunter
Fai attenzione. A meno che i tuoi dati non possano essere generati algoritmicamente, sembra che i risparmi di dimensioni dei file che ottieni facendo il popolamento dei tuoi dati in fase di runtime siano compensati dalla quantità di codice di inserimento dati che devi includere nella tua applicazione. –
In realtà c'è un trucco: è necessario nominare il file che si sta copiando con un'estensione diversa da ".sqlite", ".bin" farà. Altrimenti Xcode cambierà il contenuto del file quando lo copia nell'app durante la fase di compilazione e non verrà caricato.
- 1. Core Data and Core Location
- 2. Per iniziare con Core Data
- 3. Core Data syncing
- 4. Core Data NSPredicate per la data
- 5. GROUP BY equivalente per Core Data
- 6. Nuovo to Core Data per iphone
- 7. Core Data e NSOperation
- 8. Core Data vs NSFileManager
- 9. Iphone Core Data: Data Valore predefinito come data corrente
- 10. Modello dati dati di base: tipo di attributo per UIColor
- 11. NSOperation VS GCD per Core-Data
- 12. Recupera oggetto per proprietà in Core Data
- 13. Utilizzo di Core Data con watchOS 2.0
- 14. Core Data with json
- 15. NSSortDescriptor per ordinare in base al numero di elementi in molte relazioni tra core Data
- 16. Modello dati dao core
- 17. Gestione memoria dati core
- 18. Modello di progettazione per l'app per iPhone Core Data
- 19. Core Data e multithreading
- 20. Core Data sincronizzabili & com.apple.syncservices.Syncable
- 21. UITableView Core Data riordino
- 22. Rubrica Rubrica in Core Data
- 23. Strumenti Python per il calcolo out-of-core/data mining
- 24. iPhone: Salva booleano in Core Data
- 25. Producer Consumer Issue with Core Data
- 26. Simulatore di dati core per iPhone
- 27. Errore 6 core js di base
- 28. Come visualizzare i dati esistenti in Core Data?
- 29. Core-Data: Predicato per molte relazioni
- 30. astratte entità e l'eredità di Core Data
Ciao Zaph, potresti chiarirlo per favore? Controllo del timbro del file modificato Vedo che il file viene sempre modificato indipendentemente dall'estensione. Come intendi che Xcode cambia il contenuto del file? –