問題タブ [nsmanagedobject]
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.
ios - nil を返す NSEntityDescription entityForName
モデルにいくつかの変更を加えました (ただし、まだ移行はしたくないので、アプリケーションを削除し、クリーンなビルドなどを行うだけです)。
ただし、iPhone またはシミュレーターで実行すると、次のエラーが発生します。
*** キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: 'executeFetchRequest:error: フェッチ要求にはエンティティが必要です。
エンティティを次のように設定します。
私の managedObjectContext は nil ではありません。しかし、モデルにエンティティを表示するとリストが空になるため、オブジェクト モデルが正しく読み込まれていないか、同様のものが読み込まれていないと思われます。
モデルがロードされていることを確認するにはどうすればよいですか?
validation - CoreData 検証とエラー フレームワークを適切に使用するには?
Xcode でモデルを作成しました。さまざまな属性について、最小値と最大値が定義されており、実行時に coreData によって適用されます。
NSManagedObject validateValue:forKey:error を使用して、ユーザーの入力値を確認しています。
ローカライズされたエラー メッセージが具体的ではないことに少しがっかりしました。値が小さすぎると「操作を完了できませんでした。(Cocoa エラー 1620)」と表示され、「操作を完了できませんでした。 (Cocoa エラー 1610)」というエラーが表示され、値が大きすぎます。
coreData のドキュメントには、「エンティティ名、プロパティ名、エラー メッセージなど、マネージド オブジェクト モデルのほとんどの側面をローカライズできる」と書かれています。残念ながら、エラー メッセージの実装方法についてはあまり詳しくありません。
では、エラー メッセージをどのようにカスタマイズしますか? それらをどのようにローカライズしますか? 参照値に言及する方法でカスタマイズすることは可能ですか?例: 「値は %@ より低くする必要があります」または「値は %@ より高くする必要があります」?
iphone - EXC_BAD_ACCESS NSArray of ManagedObjects (コア データ)
私のiPhoneアプリで何か奇妙なことが起こっています。Core Data を使用して SQLite データベースにデータを保存しています。アプリの起動後初めて、テーブルを読み取ってすべての行を返し、ユーザーが選択できるもののリストを UITableView に入力しようとしました。リストの一番上の項目を選択すると、EXC_BAD_ACCESS 例外が発生します。彼らが他のアイテムを選択した場合、すべて問題ないようです。コード サンプルは次のとおりです。Sport と Team は NSManagedObjects です。sports は、NSFetchedResultsController (fetchedObjects) を使用してフェッチされた Sport オブジェクトの NSArray です。オブジェクトのリストを UITableView に表示できます (問題なく cellForRowAtIndexPath() 呼び出しに同じ配列を使用します)
更新: EXC_BAD_ACCESS エラーがスローされるまで、最初のレコードではなく、NSArray の最後のレコードにのみ影響するようです。アプリを再起動すると、問題はなくなり、コードは期待どおりに機能します:(
iphone - Core-Data: NSLog 出力に「フィールド」が表示されない
NSFetchRequest によって返される配列の NSLog の出力がわかりません。
データベースを読み取って内容を配列に配置し、配列をループしてから内容を NSLog で出力しています。ログファイルの出力がよくわかりません。以下のコード:
ログ ファイルの内容:
これは何を意味するのでしょうか?:
データベースからフィールドの内容を実際に見たい。
データベースには 15 のレコードがあり、各レコードには 12 のフィールドがあります。私の基本的な理解から、私のstories
配列は個々のフィールドではなく、データベースからのレコード全体を保持しているようです。これを達成するには 2D 配列が必要かもしれません。
最終的には、配列をループ処理して、各フィールドの XML タグを作成したいと考えています。でも一歩ずつ…
前もってありがとう、スティーブン
iphone - tableviewcoredata一時オブジェクト
nsfetchedresultscontrollerを使用してcoredataからのデータを含むテーブルビューを使用しています。ビューが読み込まれると、を使用して新しいエンティティを作成します
このようにして、新しいエンティティがテーブルビューに表示されます。ここで、このエンティティを一時的なものにしたいのですが、テーブルビュー内のオブジェクトを編集してmanagedObjectContextを保存すると、一時的なエンティティも保存されるので、それは望ましくありません。
管理対象オブジェクトコンテキスト内のすべてではなく、1つのオブジェクトのみを保存する方法ですか?
私のテーブルビューの一時オブジェクトを作成する他の方法です。
どんな助けでも大歓迎です。ありがとうトン
iphone - インメモリ ストアと SQLite ストアの両方で NSManagedObject サブクラス エンティティを使用する
単一の NSManagedObject サブクラスを使用してアイテムを表現したいと考えています。ただし、多くの場合、ここで説明するアイテムは一時的なものであり、永続的なストアに保存することはできません。インメモリストアが正しいセットアップのようです。
ただし、ユーザーがアイテムを「保存」することを選択できる場合が数回あるため、そのアイテムを SQLite ストアに永続化したいと考えています。
2店舗必要みたいですね。2 つのコンテキストが必要ですか? メモリ内ストアから「保存された」永続ストアにアイテムを移動するための推奨される方法はありますか? 同じタイプの永続的な管理対象オブジェクトと非永続的な管理対象オブジェクトを混在させる場合に人々が推奨できるその他の提案や問題はありますか?
core-data - 別のオブジェクトプロパティに基づいてCoreDataManagedObjectプロパティを入力します
CoreDataにツリー構造を保存するアプリがあります。ManagedObject "Item"があり、次の属性があります。
- itemId(文字列)
- リストアイテム
- タイトル(文字列)
- parentId(文字列)
- 親(アイテムとの関係)
- parentTitle(文字列)
parentIdは別のItemオブジェクトを指します。
プロパティparentTitleに親アイテムのタイトルが自動的に入力されるようにするにはどうすればよいですか?
iphone - 複数のNSManagedObjectsに単一のビューを使用する
そのため、いくつかのCoreDataエンティティに共通するいくつかのプロパティがあります。メモ、URLなど。
この情報を編集するための単一のViewControllerがあり、エンティティをNSManagedObjectとして渡します。
そして、実際にオブジェクトを変更できる状態にするために、
そうすれば、Thingに値を設定して、通常のようにmanagedObjectContextを保存できます。
ただし、これはアプリケーションをクラッシュさせますが、フィールドを何度も編集するためにViewControllerに出入りする場合に限ります。
これが私の質問につながります:単一のView Controllerを使用して、複数のCore Dataエンティティの共通フィールドを編集するための最良の方法は何ですか?View Controllerを呼び出すときに、ブール値を設定して正しいエンティティプロパティを設定する必要がありますか?
iphone - CoreData: ManagedObject の解放
iOS 4 iPhone アプリケーションで CoreData (ストアとして SQLite を使用) を使用して、最初に xml ファイルから取得したデータを保存しています。私のデータ モデルには 15 を超えるエンティティが含まれており、データ モデルのオブジェクト グラフを表すためにすべての NSManagedObject をメモリ内に作成する CoreData を見たので、メモリの消費が心配です。SAX libxml2 ベースのパーサーを使用して xml ファイルを解析し、エンティティの各「集合セット」をチャンクごとに一緒に格納しようとしますが、この集合が挿入され、マネージド コンテキストが保存された後に、各マネージド オブジェクトを解放したいと思います。次の凝集のためにメモリを節約します。(データモデルで設計されているように)リレーションシップによって他のオブジェクトに関連付けられている間に、各オブジェクトが受け取った複数の保持を相殺するために、refreshObject: mergeChanges: を使用する必要があることがわかりました。コンテキストを保存した後にそれを行いますが、次に、何も返さない前に挿入したものを取得しようとして、ストアを再度検索しようとします。何か不足していますか?
iphone - CoreData: 保存されていないコンテキストからのオブジェクトのフェッチ
ManagedObject をコンテキストに挿入した後、後でフェッチしたいのですが、コンテキストを保存する前に (すべてのオブジェクトが挿入された後に保存します)。コンテキストが以前に保存されていない場合、これらのオブジェクトに関するフェッチで後でコンテキストをクエリしても何も返されないようです。最後にのみ保存する方法はありますか?(オブジェクトを配列または辞書に保存してクエリを実行できると思いますが、coredataがこれを行うと思いました)