3

いくつかの UITableViewControllers で構成される単純な iOS アプリケーションを作成しています。ビュー コントローラーに表示される情報は、xml ファイルから取得されます (プロジェクトのリソースに含めるか、ドロップボックスまたは iCloud から直接取得します)。xml ファイルの内容は、ユーザー入力に基づいています。

いくつかのメモ:

データは、ユーザー入力手段に基づいており、静的ではありません。理想的には、アプリは xml ファイルから "Core Data" にデータをロードします。アプリをさらに実行するたびに、テキストファイルからデータを再ロードするのではなく、一部の Core Data ソース (私はまだ完全には慣れていません) からデータをプルするだけです。

現在、XMLwriter を使用して単純な xml ファイルを生成しています

ご指導よろしくお願いします

4

1 に答える 1

2

ここでの最良のパターンは、XML ファイルを使用して Core Data データベースを「シード」することです。これは初回のみ発生します。その後、XML ファイルを再び使用することはなく、コア データ ストアを更新して同期するだけです。

これは、XML を生成するよりもはるかに優れています。XML ファイル (プロパティ リストなど) の問題点は、わずかな増分変更ごとにファイル全体を作成する必要があることです。オンラインのどこかのストアに同期する場合、これには時間がかかりすぎて実用的ではありません。

XML ファイルから基本オブジェクトを取得できると仮定すると、オブジェクトを反復処理してコア データを 1 つずつ挿入するだけです。

for (NSDictionary *dict in xmlArray) {
   Entity *newObject = [NSEntityDescription 
        insertNewObjectForEntityForName:@"Entity"
                 inManagedObjectContext:self.managedObjectContext]; 
   newObject.attribute1 = [dict objectForKey:@"attribute1"];
   newObject.attribute2 = [dict objectForKey:@"attribute2"];
   //  etc...
}
[self.managedObjectContext save:nil]; 
于 2013-04-04T07:05:28.267 に答える