2012-10-26 11 views
17

対「外部録音中Storeはファイル」私は実際にコアデータのエンティティに関連するいくつかの質問を持っては、iOS上の属性設定:コアデータ:「外部ストレージができます」

  1. はのための「外部記録ファイルに保管」ですスポットライト統合のみ?
  2. Mac OSの「外部記録ファイルに保存する」のみですか?
  3. iOSシミュレータでは、「外部レコードファイル」は正確にどこに保存されていますか?

これらの質問は、「外部ストレージを許可する」というバイナリデータ属性設定と混同しないでください。私はこの設定で店舗の外に> 1MBのデータを置くことを理解しています。

  1. iOSシミュレータでは、「外部ストレージを許可しますか?

ご協力いただきありがとうございます。

答えて

12

これはCore Data Spotlight Integration Programming Guideのモデルセクションの設定に(詳細に)説明されていますSpotlightの索引作成を有効にするには

を、あなたはエンティティがインデックス化と-IFれるべき のどのプロパティを指定する必要がありますこれらのプロパティのいずれかを外部レコードに追加する必要があります( )。コンフィギュレーション・インスペクタで

、あなたが のインデックスを作成したいプロパティのそれぞれのために、選択します。

を提供外部記録ファイルでスポットライト(オプション)ストアのインデックスは、エンティティの少なくとも1つの性質を持っていること"Index in Spotlight" フラグが設定されている場合、そのエンティティのインスタンスへの変更が永続ストアにコミットされた である場合、対応する外部レコード ファイルが更新されます(最小限の最終変更日が変更されます)。この は、Spotlightインポータが実行されるため、Spotlightインデックス が新しいデータで更新されることを意味します。

"Index in Spotlight"のみを選択した場合、コアデータは対応するレコードの長さがゼロのファイル を作成します。 「外部レコードに保存」も選択した場合は、外部レコード の内容にプロパティが追加されます。文字列、日付、 などの単純な型は直接エクスポートされます。関係はUUIDとして格納されます。

AFAICT:

  1. はい
  2. それが言っている場合は、[はい
  3. が本当に
+0

こんにちはダニエルが適用されません、そう私は以前にそのガイドと不思議を読みました完全な画像。もっと重要なのは、「iOSシミュレーターでは、「外部ストレージを許可」がどこに保存されているのでしょうか? – Timbo

+15

"外部ストレージを許可する"は、 "外部レコードファイルに保存"とは関係ありません。それらは2つの全く別個のものです。「外部ストレージを許可する」と指定すると、Core Dataはデータベースの代わりに大規模なデータをファイルに保存できます。 「外部レコードファイルに保存」とは、Spotlightがデータベース内の内容を取得できるようにすることです。 Spotlightは、iOS上ではMac上でのみ動作します。 「外部ストレージを許可する」は、モデルの一部です。 「外部」ファイルは、dbファイルの隣に格納されます。 –

+0

このブログ記事では、[Core Data:大きなファイルをバイナリデータとして保存しない](https://medium.com/@alexedge/binary-attributes-and-migration-in-core-data-bc7cfb3029fc)外部ファイルは.YourAppName_SUPPORT/_EXTERNAL_DATAに格納されます。おそらくドキュメントフォルダの下にあります。 – jk7

関連する問題