問題タブ [nspersistentstore]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
core-data - addPersistentStoreWithType が iCloud ストレージの「nil キーを挿入しようとしています」というエラーを返す
iCloud にコア データ ストレージを作成しようとしていますが、永続ストアを初めて (作成を期待して) 追加しようとすると、エラーが発生します...
'-[__NSCFDictionary setObject:forKey:]: nil キーを挿入しようとしています'
他にも同様の投稿をいくつか見ましたが、推奨事項は既に私のコードに含まれています。ここに私のコードスニペットがあります。
ありがとうレイ
ios - .xcdatamodeld の変更による影響を受けないようにpersistentStoreを再作成する方法
.xcdatamodeld の変更による影響を受けないように、persistentStore を再作成 (ドロップ & 作成) したいと思います。
私は AppDelegate で以下のようなコードpersistentStoreCoordinatorを書きました:
.xcdatamodeld
(エンティティに新しい列を追加するなど)変更を加えてシミュレーターを再起動すると、最初は失敗しaddPersistentStoreWithType
、ログに次のように表示されます
どうやってやるの?
core-data - UIManagedDocument を iCloud に移動する方法
一部のデータを含む UIManagedDocument をローカルから iCloud ディレクトリに移動するコードは何ですか? migratePersistentStore 機能を使用する必要があることは理解していますが、管理されたドキュメントでそれを行う方法がわからない場合、これを行う方法の例はありません。私は今2週間苦労しています。スタック オーバーフローに関するこれらの質問はたくさんありますが、どれも答えを得ていませんか? これは難しいですか?既存のドキュメントを iCloud に移動する方法は 1 つだけですか?
私はこの出力を得る
ios - プログラムによるコア データのセットアップ - NSManagedObjectContext はどこから来るのか?
Core Data を完全にプログラムでセットアップしたいと考えています。の形式でデータベース スキーマを定義し、このページの下部で行われているようNSManagedObjectModel
に、いくつかのエンティティ定義を の形式で追加しました。すべてが順調です。NSEntityDescription
次に、NSPersistentStoreCoordinator
そのクラス メソッドを使用して を作成initWithObjectModel:
し、前述のスキーマを渡しました。この時点で、私は何をすべきかわかりません。
私がNSManagedObjectContext
理解しているように、それはDBスクラッチパッドのようなものであり、最終的にやりたいことのほとんどすべて(レコードの作成、読み取り、更新、削除など)に必要なためです。次のステップは何ですか (GUI ツールがないことを念頭に置いてください)。コンテキストを取得している場合は、どうすればよいですか? また、この種のことを完全にプログラムで行うためのブログ投稿/リソースを誰かが知っていれば、それは素晴らしいことです.
ios - CoreData 永続ストアが空のように見える
まず、私が取り組んでいることの背景を少し説明します。作成した API から情報を取得する CRUD iOS アプリケーションを作成しています。データを取り出したら、それを CoreData に保存します。次に、NSFetchedResultsController を使用して、このデータをテーブル ビューに表示します。問題は、テーブル ビューの上にモーダル ビューを表示してからモーダル ビューを閉じると、テーブルがクリアされ、データを再ダウンロードして再度挿入する以外のすべてが機能しないことです。
ただし、API から新しいデータを取得しているときに問題が発生します。試行錯誤を繰り返して、永続ストア内のすべての古いデータを削除する場所に問題を絞り込みました (2 つのストアがあり、1 つはユーザーが作成したデータ用で、もう 1 つは他のユーザーからのデータ用です)。このコード スニペットは、データのフェッチを処理する API 呼び出しからのものです。
呼び出しは他のユーザーの[self deleteAllEntitiesNamed:@"Object"];
ストアに入り、次のコードですべてのオブジェクト エンティティを削除します。
この関数呼び出しまで問題を追跡しました。API ハンドラーで delete 呼び出しをコメント アウトすると、ビュー間でテーブルを維持するのに問題はありませんが、既にストアにある多くのデータを複製するという悪い副作用があります。古いストアを削除した直後にデータを再挿入するので意味がありませんが、ストア内のアイテムの削除について何かが欠けている可能性があります。
ストア全体を削除して再初期化しようとしましたが、データがまったく読み込まれません。
利用可能な洞察を事前に感謝します。
編集:また、テーブル ビューに戻った後にストアからオブジェクトを取り出そうとしたときに、終了直後にオブジェクトをストアから取得することに成功した同じフェッチ要求を使用して空の結果を取得することも追加する必要があります。成功コールバックでの API 呼び出し。