0

sqllite db に裏打ちされた coredata モデルがあります。データベースに初期データを入力したい。

私はこれまでこれを行うために Python を使用してきましたが、うまく機能しています。機能していない唯一のビットは、日付の挿入です。coredata はエポック形式で日付を保存することを理解しているため、現在、次のように Python を介して挿入しています。

time.mktime(datetime(2012, 7, 1, 12, 30, 30).timetuple())

ただし、コアデータを介してデータがロードされたときに、これは正しい日付を教えてくれません。コアデータを介して正しく読み込まれるように日付をフォーマットする方法についてのアイデアはありますか?

*注: ほとんどの人は、Python スクリプトを使用するのではなく、同じモデルを使用する小さなアプリを介してこれを行うことを推奨していますが、Python 構文は、多くのオブジェクトを構築して挿入するためにより簡潔であることがわかります。

たとえば 、次のようにデータを挿入するメソッドを呼び出すことができます。

insertData(con, 1, 1, 'Data 1', 'Description')

vs Objective-C の長いメソッド呼び出し:

[self insertdata withCon:con id: 1 i2:1 val:@"Data 1", Desc:@"Description"];
4

2 に答える 2

1

悲しいかな、これをしないでください。私は常に Python を使用して sqlite データベースにデータを入力し、Objective-C と Java でそれらを読み取りますが、CoreData はsqlite を使用するものですが、その使用方法は時間の経過とともに変化する可能性があります。

Core Data は sqlite の ORM を意図していないため、任意の sqlite スキーマを読み取ることはできません。逆に言えば、Core Data の sqlite データ ストアを他の sqlite ツールで読み取れることに頼るべきではありません。スキーマは、変更される可能性のある実装の詳細です。

https://stackoverflow.com/a/524301/96338から

于 2012-07-08T11:05:54.590 に答える