2010-09-18 16 views
5

Mam aplikację używającą CoreData jako mechanizmu przechowywania danych, a aplikacja wymaga skonfigurowania początkowych danych. Czy są jakieś zalecenia/co/jak robisz, aby skonfigurować początkowe dane?Jak wykonać konfigurację wstępnej konfiguracji danych za pomocą CoreData?

Obecnie robię to w następujący sposób (gdy aplikacja uruchamia na 1 raz):

SomeEntity *newEntity=[NSEntityDescription insertNewObjectForEntityForName:@"SomeEntity" inManagedObjectContext:context]; 
[newEntity setCode:@"a-code"]; 
[newEntity setName:@"a-name"]; 
... 
[context save:nil]; 

Nie lubię tego podejścia dla 2 powodów:
1) jest tak nudny i błędów -prone, jeśli potrzebujesz więcej niż 10 instancji podmiotu dla więcej niż jednego typu obiektu
2) może to zająć trochę czasu na początkowe uruchomienie

W poprzednich aplikacjach używających SQLite po prostu połączyłem moją początkową bazę danych SQLite w aplikacja i, jeśli trzeba zmodyfikować jakiekolwiek dane, przeniosła bazę danych se do katalogu dokumentów. Czy istnieje podobne podejście do CoreData?

Odpowiedz

6

To samo dotyczy Core Data. Użyj swojej aplikacji, aby utworzyć dane w żądany sposób, a następnie pobierz dane z urządzenia. Znajdziesz plik SQLite w katalogu Dokumenty (który jest domyślną lokalizacją). Dodaj plik SQLite do swojego projektu jako zasób. Zostanie skopiowany wraz z Twoją aplikacją.

Następnie wystarczy napisać kod, aby ustalić, czy plik już istnieje w katalogu dokumentów podczas uruchamiania. Jeśli nie, możesz skopiować plik z pakietu aplikacji do katalogu Dokumenty, a Core Data to otworzy. Po prostu chcesz to zrobić, zanim skonfigurujesz NSPersistentStoreCoordinator.

+0

Wielkie dzięki, zadziałało to dla mnie! – Arts

Powiązane problemy