問題タブ [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.

0 投票する
1 に答える
355 参照

ios - 複数の NSPersistentStoreCoordinator 間で NSManagedObjectID を渡しても安全ですか?

それぞれ 1 つの NSPersistentStore を持つ複数の NSPersistentStoreCoordinator インスタンスがあり、すべて同じ sqlite ファイルを指しています。そして、私のテストでは、それらの間で NSManagedObjectID オブジェクトを渡し、次に呼び出します

- (NSManagedObject *)existingObjectWithID:(NSManagedObjectID *)objectID error:(NSError **)error

on NSManagedObjectContext は正常に動作しているようですが、これが正常に動作することを確認する Apple からのドキュメントをまだ見つけていません。

したがって、私の質問は、これが機能するはずかどうかを誰かが知っている場合 (それが素晴らしいことを確認するいくつかのアップルのドキュメントへのリンク!)、これが通常は機能しないはずであり、私がすべきではないことを誰かが知っているかどうかです。これ、それもすごいでしょう!

0 投票する
1 に答える
481 参照

core-data - UImanagedDocument の persistentStore iCloud バックアップ

コア データ UIManagedDocument のバックアップを作成し、iCloud に保存しようとしています。これをやろうとしてから2か月以上経ちましたが、その方法がわかりません。インターネットにはまったく情報がありません...少なくともローカルバックアップを作成しようとしていますが、これはコードです:

置換が呼び出されると、エラーがログに記録されます。

0 投票する
1 に答える
80 参照

core-data - 1 つのアプリに 2 つの Coredata 永続ストア

私が現在取り組んでいるアプリには、質問でいっぱいの読み取り専用の Core Data ライブラリがあり (子供たちが答えるために)、アプリの更新を介して自由にすばやく置き換えることができます (理想的には、sqlite バックエンド データベースを置き換えるだけです)。アプリケーション バンドル内のバージョンと異なる場合は、ユーザーのドキュメント フォルダー)。

問題データベースを置き換えるときに失いたくないユーザーが作成したデータも保存しています。

同じアプリに 2 つの永続的なストアとデータ モデルを用意することは実現可能ですか (そして良い方法ですか)。

0 投票する
2 に答える
1959 参照

objective-c - CoreData、別のスレッドの子 MOC、予期しない: エラー: NULL _cd_rawData ですが、オブジェクトは障害に変換されていません

わかりました、これで少し迷っています。現在、タイプが NSPrivateQueueConcurrencyType に設定された 2 番目の ManagedObjectContext を使用してバックグラウンド コア データ操作を実行しようとしていますが、上記のエラーで惨めに失敗しています。

文字列の NSArray が渡される NSOperation のカスタム サブクラスと、メイン スレッドからの PersistentStoreCoordinator があり、独自の ManagedObjectContext を作成し、クエリを実行して操作を実行します。

クラスのコードは次のとおりです。

@終わり

そして、これが私がそれを呼んでいる方法です:

編集 1

エラーが発生しているように見える特定の行、または少なくともXcodeが壊れている場所は次のとおりです。

これを少し絞り込むことができました。文字列を検索する用語のリストを含む NSArray は非常に大きくなる可能性があり、1,000 NSString を超える可能性があります。そのサイズの配列でテストすると、問題が発生します。ただし、配列を約 15 NSString に減らしてもエラーは発生しないため、これは必ずしもスレッド関連の問題ではないと思います。配列がメイン スレッドで解放されているかどうか疑問に思っています。コードを修正してディープ コピーを作成し、次のように __block コピーを作成しましたが、効果がないようです。

実際、Xcode が壊れた時点で、配列を PO にするとオブジェクトが見つからないというメッセージが表示されますが、結果を PO にすると nil のオブジェクトが返されます。

編集 2

したがって、次の変更を加えましたが、変更はありません。

NSArray をコピーではなく強力にしました:

そして、割り当て時にコピーを作成しました:

そして、オブジェクトを処理する実際のメソッド内で ___block 宣言を使用して NSArray のローカル コピーを作成しました。

ProcessProfanity オブジェクトの存続期間中、それが存続することを意味するのはどちらでしょうか?

ブロック内のブレークポイントから配列を PO できると期待するのは間違っていますか?

0 投票する
2 に答える
998 参照

ios - URL を知っている NSPersistentStore を取得する方法はありますか?

URL を知っている NSPersistentStore を取得する方法はありますか?

何かのようなもの:

** 'persistentStoreFromURL' メソッドは明らかに存在しません!

追加情報:

このストアがコーディネーターに読み込まれていることはわかっています (どのコーディネーターかはわかりません)。データを別のストアに移行する前に、コーディネーターから削除する必要があります。この店のURLしか知りません。

同時に複数のコーディネーターを使用しています。それらをループしてから、すべてのストアを再度ループして、store.URL が url と等しいかどうかを確認することを避けたいと思います。これが、URL からストアを直接取得し、ループなしでコーディネーターを取得できるかどうかを尋ねている理由です。

0 投票する
3 に答える
993 参照

ios - iCloud からのコア データの削除に失敗する

を使用してiCloudからCore Dataを削除しようとして[NSPersistentStoreCoordinator removeUbiquitousContentAndPersistentStoreAtURL:options:error:]います。しかし、私は奇妙な出力を得ます:

どういう意味ですか?

それを避ける方法は?iCloudの無効化/有効化機能に取り組んでいます。詳細はこちら

アップデート:

0 投票する
2 に答える
426 参照

core-data - コアデータ NSPersistentStore の問題

段階的に展開されるアプリケーションを開発しています。スプリントごとにデータベースの変更があるため、コア データの移行が実装されています。これまでに 3 段階のリリースがありました。連続アップグラデーションが行われるたびに、アプリケーションは正常に動作します。しかし、バージョン 1 からバージョン 3 にアップグレードしようとすると、「永続ストアを追加できません」というエラーが発生します。誰かが私の問題を手伝ってくれますか?