2012-10-26 10 views
17

I rzeczywiście mają kilka pytań dotyczących podmiotu danych Core ustawienia atrybut iOS:Rdzeń danych: "Przechowywać w zewnętrznym pliku Record" vs "Pozwala External Storage"

  1. to "Przechowywać w Zewnętrznych Record File" dla Tylko integracja Spotlight?
  2. Czy "Store in External Record File" dotyczy tylko systemu Mac OS?
  3. Na symulatorze systemu iOS, gdzie dokładnie przechowywane są "Zewnętrzne pliki rekordów"?

Nie należy mylić tych pytań z ustawieniem atrybutu Dane binarne "Zezwala na przechowywanie zewnętrzne". Rozumiem, że ustawienie spowoduje umieszczenie danych> 1 MB poza sklepem.

  1. Na symulatorze systemu iOS, gdzie są przechowywane "Zezwalaj na przechowywanie zewnętrzne"?

Z góry dziękujemy za pomoc!

Odpowiedz

12

ta jest opisana (szczegółowo) w Konfiguracja modelu odcinek Core Data Spotlight Integration Programming Guide:

Aby umożliwić Spotlight indeksowanie, trzeba określić, które właściwości jakie podmioty powinny być indeksowane, a które, gdyby Każda z tych właściwości powinna zostać dodana do rekordu zewnętrznego.

W inspektora konfiguracji dla każdej z właściwości, które chcesz mają być indeksowane, wybierz:

Index w Spotlight (opcjonalnie) Przechowywać w zewnętrznym pliku rejestrze przewidzianym , że co najmniej jedna właściwość dla podmiotu ma Ustaw flagę "Indeks w świetle reflektorów" , a następnie, gdy zmiana w instancji tej jednostki jest zatwierdzona dla magazynu trwałego, odpowiedni plik zewnętrzny zostanie zaktualizowany (minimalnie zmieni się data ostatniej modyfikacji). Ten numer oznacza, że ​​importer Spotlight będzie działał, a więc indeks Spotlight zostanie zaktualizowany o nowe dane.

Jeśli wybierzesz tylko opcję "Indeks w centrum uwagi", dane podstawowe po prostu tworzą plik zerowy o długości dla odpowiedniego rekordu. Jeśli wybierzesz także opcję "Zapisz w rekordzie zewnętrznym", właściwość zostanie dodana do zawartości zewnętrznego rekordu . Typy proste, takie jak ciągi, daty i numery , są eksportowane bezpośrednio; relacje są przechowywane jako identyfikatory UUID.

AFAICT:

  1. Tak
  2. Tak
  3. naprawdę nie stosuje
+0

Hi Danielu Tak ja wcześniej przeczytać ten podręcznik i zastanawiam się, czy jest mówienie pełny obraz. Przypuszczam, że ważniejsze pytanie brzmi "Na symulatorze systemu iOS, gdzie są przechowywane" Zezwalaj na pamięć zewnętrzną "?" – Timbo

+15

"Zezwala na zewnętrzne przechowywanie" nie ma nic wspólnego z "Zapisz w zewnętrznym pliku rekordu". To są dwie zupełnie odrębne rzeczy."Pozwala pamięci zewnętrznej" mówi Core Data, że ​​może przechowywać duże blobs danych w pliku zamiast w bazie danych. "Przechowywanie w zewnętrznym pliku rekordu" polega na umożliwieniu Spotlight pobierania zawartości wewnątrz bazy danych. Spotlight nie robi tego w systemie iOS, tylko na komputerze Mac. "Zezwala na zewnętrzne przechowywanie" jest częścią twojego modelu. Pliki "zewnętrzne" są przechowywane obok pliku db. –

+0

Ten wpis na blogu [Dane podstawowe: nie przechowuj dużych plików jako danych binarnych] (https://medium.com/@alexedge/binary-attributes-and-migration-in-core-data-bc7cfb3029fc), mówi pliki zewnętrzne są przechowywane w .YourAppName_SUPPORT/_EXTERNAL_DATA, prawdopodobnie w folderze dokumentów. – jk7

Powiązane problemy