setupCoreDataStack
Użyj tego, gdy dopiero zaczynasz pracę z MagicalRecord. Będzie to, zgodnie z metodą, ustawić domyślny stos danych rdzenia. Elementy stosu są dobrze znane i obejmują: NSPersistentStore, NSPersistentStoreCoordinate, NSManagedObjectModel i domyślny NSManagedObjectContext. Przynajmniej jeden z nich musi być odpowiednio utworzony i skonfigurowany, aby Core Data działała. MagicalRecord zapewnia tej samej metody, aby skonfigurować swój stack z SQLite trwałego magazynu znajduje się w support/Library/Application //. Sqlite
setupAutoMigratingDefaultCoreDataStack
Kiedy wersję swojego modelu, trzeba będzie przenieść swoje dane. Ta metoda będzie działać tak samo jak poprzednia metoda (powyżej), ale umożliwi także automatyczne migracje.
setupCoreDataStackWithInMemoryStore;
Czasami, na przykład podczas pisania testów jednostkowych, chcesz, aby dane zniknęły po zakończeniu aplikacji. Ta metoda utworzy również stos CoreData (jak wspomniano powyżej), ale zamiast magazynu SQLite tworzy stały magazyn w pamięci systemowej (RAM).
setupCoreDataStackWithStoreNamed:(NSString *)storeName
Czasami chcesz dostosować nazwę pliku, w którym znajdują się Twoje dane. Ta metoda działa tak samo jak pierwszy, mianowicie ustanowienie danych stosu rdzenia i umieszczenie sklep SQLite w konkretnej lokalizacji, ale zamiast .sqlite, sklep nazywa storeName.sqlite
setupCoreDataStackWithAutoMigratingSqliteStoreNamed:(NSString *)storeName
robi to, że taki sam jak powyższa metoda, ale także włączone automatyczne migracje. Będziesz musiał to zrobić, gdy zmienisz model i przeprowadzisz prostą migrację, którą po prostu trzeba włączyć.
można przeczytać więcej na temat migracji danych Core na Apple's Core Data Reference Documentation
Jak skojarzyć plik xcdatamodeld do MagicalRecord? Czy MagicalRecord będzie respektować atrybuty xcdatamodeld, takie jak "Store in External Record File"? – zakdances
Domyślnie MagicalRecord użyje metody mergedModelsFromBundle: z parametrem zero. Jest to również w (strasznym) kodzie standardowym dostarczonym przez Xcode. To automatycznie wyliczy to dla ciebie. Istnieją dodatkowe pomoce do określenia pliku modelu w razie potrzeby (testowanie jednostki jest innym popularnym miejscem, gdzie jest to konieczne) – casademora
Nadal jestem nieco zdezorientowany ... mergedModelsFromBundle automatycznie skanuje strukturę projektu dla plików xcdatamodeld? Co się stanie, jeśli masz więcej niż jeden xcdatamodeld? Czy encje (i ich atrybuty) zadeklarowane w tych plikach xcdatamodeld muszą pasować do NSManagedObjects, które podklasuje dla MagicalRecord? – zakdances