問題タブ [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 - NSPersistentStoreCoordinator が管理オブジェクト モデルを認識しないのはなぜですか?
iCloud で CoreData ストアを作成しようとしています。iCloud Programming Guide for Core Dataのコード例に従って、次のコードを用意しました。
これは私のマネージド オブジェクト モデルのイメージです
エラーが表示されます: 宣言されていない識別子 'salonbook' の使用。
なんで?
ios - Core Data - 新しいモデル名への移行
更新中のアプリがストアにあります。「lazy var managedObjectModel: NSManagedObjectModel」と「lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator?」の両方で名前を変更するなど、多くのコア データの変更を行いました。
Core Data Migration を適切に使用して、既存のユーザーが更新をダウンロードしたときにアプリがクラッシュしないようにするにはどうすればよいですか?
古い:
新しい:
objective-c - NSPersistentStoreCoordinator を使用してファイルを作成しましたが、アプリの再起動後にファイルが見つかりません
Core Data ストアのバックアップ/復元を試みています。私のアプリでは、ファイルを作成し、fileExistsAtPathを実行すると、ファイルがそこにあります。Finder を使用すると、そこにはありません。これは、バックアップを作成するためのコードです (コピーして変更したため、スタイルと重複した名前は私のものではありません。おそらく最初からやり直す必要があります)。
更新コードはここにあります...
これはコンソール出力です:
現在の URL は file:///Users/spokanedude/Library/Developer/CoreSimulator/Devices/1EE69744-255A-45CD-88F1-63FEAD117B32/data/Containers/Data/Application/41B5E165-C3E2-4D8A-81EB-98ADB20B8B0D/Documents/saori です。 .sqlite 2015-01-20 10:41:36.042 サロンブック[84743:2055509]
使用するバックアップ ファイルの URL は、file:///Users/spokanedude/Library/Developer/CoreSimulator/Devices/1EE69744-255A-45CD-88F1-63FEAD117B32/data/Containers/Data/Application/41B5E165-C3E2-4D8A-81EB-98ADB20B8B0D です。 /Documents/saori.backup-20153920103944
2015-01-20 10:41:36.042 サロンブック[84743:2055509]
currentCoreData が存在します 2015-01-20 10:41:36.042 SalonBook[84743:2055509]
backupFile が存在します 2015-01-20 10:41:36.042 SalonBook[84743:2055509]
対象ファイルあり 2015-01-20 10:41:36.092 SalonBook[84743:2055509] 現在のストアファイルを削除
2015-01-20 10:41:36.125 SalonBook[84743:2055509] は現在のストア ファイルを正常に置き換えました
2015-01-20 10:41:36.126 SalonBook[84743:2055509] store オプションは { NSSQLitePragmasOption = { "journal_mode" = WAL; }; } 2015-01-20 10:41:36.127 SalonBook[84743:2055509] addPersistentStoreWithType が正常に完了しました...
2015-01-20 10:41:36.127 SalonBook[84743:2055509] STORE FILE は /Users/spokanedude/Library/Developer/CoreSimulator/Devices/1EE69744-255A-45CD-88F1-63FEAD117B32/data/Containers/Data/Application/ 41B5E165-C3E2-4D8A-81EB-98ADB20B8B0D/ドキュメント/saori.sqlite
バックアップを実行すると、ファイルがそこにあると表示されます。ForkLift (Finder の代替品) を使用すると、(時々) 表示されます。復元を実行すると、ファイルが見つかり、復元が成功したと表示されますが、代わりに、ファイルの内容が欠落しているように、既存のデータが消去されます。私の人生でこれを理解することはできません...助けていただければ幸いです。
objective-c - コア データ ストアを削除して再作成する正しい方法
Core Data ストア (sqlite) をドロップする方法が正しいことを確認したかったのです。クラッシュすることなく機能しているようですが、これが正しい方法であることを確認したかったのです。その後、ユーザーがデータベースに接続すると、新しい sqlite ファイルが自動的に生成されます。
データストアを削除するコードは次のとおりです。
ios - コア データ スタックを applicationWillEnterForeground に更新する
を使用して 2 つのアプリ間で同じ .sqlte を共有しましたApp groups
。
アプリ A に録音を追加してアプリ B を開くと (最初の起動)、アプリ B は正しくデータを取得します。
アプリ A とアプリ B (バックグラウンドで既に起動されている) に記録を追加するときにデータを同期したいと思います。アプリ B はフォアグラウンドに戻ったときにデータを取得できます。
これが、アプリ B がフォアグラウンドに戻ったときに、Core Data Sack を applicationWillEnterForeground に更新する理由です。どちらが正しいですか?
残念ながら、それは私が望むようには機能しません。取得したデータは、applicationWillEnterForeground に入力するたびにダビングされます。どちらが正しいですか?
// 編集 2014/04/17 : Mundi のソリューションを試す
私は試してみましたNSManagedObjectContextObjectsDidChangeNotification
mergeContextChangesForNotification
が呼び出されましたが、この状態になったことはありません:if otherContext != managedObjectContext) && (otherContext.persistentStoreCoordinator == managedObjectContext.persistentStoreCoordinator
ios - Core Data + RestKit 0.2.x で Persistent Data Store を自動的に削除して再作成する
を使用するアプリの開発の初期段階ではCore Data
、RestKit
データ モデルを大幅に変更することが多く、移行について考える必要さえほとんどまたはまったくありません。
ロジックを次のようにしたい:
今持っているものは、正直わかりません…
しかし、基本的に、私が本当に疑問に思っているのは、これは今では十分に一般的な問題 (仮想デバイスを常にリセットしなければならない) ではないのCore Data
でしょうか?
そうでない場合、上記のアルゴリズムの実装を妨げるこの操作の複雑さについて何が欠けていますか?