2012-03-08 14 views

答えて

0

ここではマジックはありません。データソースを繰り返し処理するサイクルを作成し、各データアイテムの管理対象オブジェクトを作成し、コアデータで保存します。

+0

しかし、私は10000のデータを持っています。このメソッドを使用するとメモリの問題が発生しますか? – user1232250

+0

メモリ管理を正しく行うと問題はありません。 CoreData-フレームワークはそれ自体を気にすることができます。最良の結果のためにARCを使用してください:) –

+0

'insertNewObjectForEntityForName:inManagedObjectContext:'はあなたにオートレリースされたオブジェクトを返します。メモリ消費が心配な場合は、100または1000サイクルごとにオートリリースプールの排水を呼び出すことで、オートレリースオブジェクトを解放することができます。明らかに、これを行う前にコアデータコンテキストを保存する必要があります。ここの例を見てください:https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmAutoreleasePools.html – MrTJ

1

コアデータをシードする方法については、Jeff Lamarcheのtutorialです。つまり、いくつかのデータソース(plist、sqlite、...)を解析し、コアデータに格納する必要があります。

+0

しかし、私は10000のデータを持っています。私がplistを使用すると、メモリの問題がありますか? – user1232250

+0

@ user1232250 - データ内の各項目のサイズによって異なります。 plistでパフォーマンスの問題がある場合は、代わりにsqliteを使用できます。 – sch

+0

データをsqliteにインプットする方法はありますか?私は初心者です。ありがとう – user1232250

0

別の方法は、sqliteデータベースブラウザ2を使用しています。それは無料で、あなたはsurceforgeからダウンロードできます!

その後、コアデータが作成されたsqliteデータベースをインポートします。エンティティとその属性を表で見ることができます。後でテーブルに情報を挿入するのは簡単です!

関連する問題