Pracuję nad aplikacją Core Data (dla iPhone 3.0, choć nie sądzę, że to naprawdę robi różnicę) i będzie ona musiała być wysyłana z bazą danych "starter" wypełnioną danymi. Z SQLite, chciałbym, aby aplikacja skopiowała zapełnioną bazę danych z pakietu do katalogu dokumentów aplikacji przy pierwszym uruchomieniu, a następnie załadowała tę bazę danych - wszystkie informacje będą przychodzić wraz z nią i będziemy gotowi do pracy. Ale w przypadku Core Data nie jestem pewien, czy mogę po prostu zapisać sklep Persistent w pakiecie App i skopiować go, zanim Core Data zacznie działać. Czy spowoduje to problemy? Istnieje sporo początkowych danych, więc nie chcę pakować go w innym formacie i trzeba go analizować.Dostarczyć dane podstawowe dla aplikacji danych podstawowych?
Odpowiedz
Tak, można skopiować ponad wstępnie wypełniony magazyn trwały.
Stworzyłem aplikację na Maca, która zapełnia sklep. Jest on kopiowany do mojego pakietu i na początku kopiowany do katalogu Docs. To działa dobrze. Powiedziano mi, że przykład z Core Data Books został opracowany w ten sam sposób.
Należy pamiętać, że nie oznacza to, że można po prostu skopiować na stary plik SQLite. Musi to być sklep z podstawowymi danymi, chociaż myślę, że rozumiesz to na podstawie twojego pytania.
Czy myślisz, że programowanie zapełnienia magazynu trwałego w pierwszym uruchomieniu mojej aplikacji jest ok? Czy to nie sprawiłoby, że moja aplikacja znacznie się zmniejszy, skoro będę musiał na chwilę uwzględnić bazę danych SQLite? – leolobato
Jeśli aplikacja może zrobić to szybko, bez wkurzania oczekującego użytkownika, wydaje się, że to dobry sposób na zrobienie tego. – Hunter
Uważaj. O ile dane nie mogą być generowane algorytmicznie, wydaje się, że oszczędności wielkości plików uzyskane przez zapełnianie danych w środowisku wykonawczym zostałyby skompensowane przez ilość kodu wypełniającego dane, które należy uwzględnić w aplikacji. –
W rzeczywistości jest pewna sztuczka: musisz nazwać plik, który zamierzasz skopiować z rozszerzeniem innym niż ".sqlite", ".bin" zrobi. W przeciwnym razie Xcode zmieni zawartość pliku, gdy skopiuje go do aplikacji w fazie budowy i nie zostanie załadowany.
- 1. NSDictionary i dane podstawowe
- 2. Dane podstawowe - rodzaj dziesiętny dla waluty
- 3. Utrzymywanie danych podstawowych w przyszłych wersjach aplikacji
- 4. Niestandardowe dane podstawowe SectionNameKeyPath
- 5. Jak dodać dane podstawowe do istniejącej aplikacji narzędziowej
- 6. Samouczek dla ios-Restkit dla danych podstawowych
- 7. Jak wybrać określone dane w danych podstawowych?
- 8. Sterownik paska narzędzi iPhone i podstawowe dane
- 9. iPhone - Dodaj podstawowe dane do istniejącego projektu?
- 10. Dane podstawowe i wielowątkowość
- 11. Poważny błąd aplikacji w podstawowe dane z fetchedResultsContainer
- 12. Kroki przeprowadzania migracji baz danych podstawowych dla dostarczonych aplikacji iPhone'a
- 13. Dane podstawowe klienta (iOS) do buforowania danych z serwera Strategia
- 14. Dane podstawowe iOS - Relacje
- 15. ios - DANE PODSTAWOWE aktualizowanie rekordów
- 16. iOS: Podstawowe dane i przestrzeń dyskowa
- 17. Jak poprawnie przetestować dane podstawowe w Swift
- 18. Które typy całkowite należy stosować dla liczb całkowitych danych podstawowych
- 19. Najlepsza strategia składowania danych podstawowych (kiedy zapisywać dane na dysku)
- 20. Dane podstawowe: UITableView z wieloma NSFetchedResultControllers
- 21. Dane podstawowe: Kwerenda identyfikatory obiektu w predykacie?
- 22. Dane podstawowe: 3 sprzężenia stołowe?
- 23. Karta danych podstawowych "nie archiwizuj"
- 24. Dane podstawowe i lokalizacja rdzenia
- 25. iOS - Podstawowe informacje o synchronizacji baz danych i danych serwera
- 26. Dane podstawowe i cykle zatrzymania
- 27. Dawanie błędnych danych podstawowych
- 28. Dane podstawowe - migracje lekkie i wielordzeniowe pliki modeli danych (xcdatamodel)
- 29. Migracja danych podstawowych jest powolna, chociaż nie ma potrzeby migrowania
- 30. Dane podstawowe: Nie można załadować modelu
Witaj Zaph, mógłbyś to wyjaśnić? Sprawdzanie zmodyfikowanego stempla pliku Widzę, że plik jest zawsze modyfikowany niezależnie od rozszerzenia. Jak masz na myśli, że Xcode zmienia zawartość pliku? –