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

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

iphone - ユーザーがボタンを押すまで、特定の NSManagedObject の永続性を無効にしますか?

ユーザーがビューで編集できる属性を持つ NSManagedObject があります。ビューにはオブジェクトからの値が取り込まれ、ユーザーは値を編集でき、値はオブジェクトに書き戻されます。ユーザーが保存またはキャンセル ボタンを明示的にタップして、変更をコミットまたは元に戻すようにしたい。

問題は、ビューが他のことが起こっている UITabbarController にあることです。ユーザーは、[NSManagedObjectContext save] または [NSManagedObjectContext undo] が呼び出される別のタブで操作を実行する場合があります。これは、ユーザーが保存するかキャンセルするかを決定する前に、NSManagedObject (最初に言及したタブから)に影響します。

これを回避する方法はありますか?ユーザーがボタンをタップするまで、NSManagedObject の永続性を一時的に無効にすることはできますか?

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

iphone - NSUndoManager undo がコア データで機能しない

ユーザーがエントリを追加できる iPhone アプリケーションを作成しようとしています。彼が新しいエントリを押すと、いくつかの情報を求めるボックスがポップアップします。次に、[キャンセル] または [保存] を押してデータを破棄するか、ディスクに保存します。

保存には、かなりうまく機能する Core Data フレームワークを使用しています。ただし、「キャンセル」ボタンが機能しません。情報を求めるウィンドウが表示されたら、マネージド オブジェクト コンテキスト (MOC) に新しいオブジェクトを作成します。次に、ユーザーがキャンセルを押すと、MOC に属する NSUndoManager を使用しようとします。

また、ネストされたグループがある可能性があるため、ネストされた元に戻すグループを使用して実行したいと思います。

これをテストするために、簡単なアプリケーションを作成しました。アプリケーションは、Core Data が有効になっている単なる「ウィンドウ ベースのアプリケーション」テンプレートです。Core Data モデルの場合、整数属性 "x" を持つ "Entity" という単一のエンティティを作成します。次に、applicationDidFinishLaunching 内に、次のコードを追加します。

考え方は単純です。新しい Entity オブジェクトを挿入して元に戻し、MOC 内のすべての Entity オブジェクトを取得して出力してみてください。すべてが正常に機能した場合、最後にオブジェクトは存在しないはずです。

ただし、次の出力が得られます。

ご覧のとおり、オブジェクトの作成を元に戻そうとすると、MOC にオブジェクトが存在します。私が間違っていることに関する提案はありますか?

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

objective-c - CoreData と NSXMLParser

Stackoverflow の皆さん、こんにちは。

NSURLConnection からデータを取得した後、NSXMLParser を使用してネットワークの XML ファイルを解析しています。XML には多くの「項目」があり、各項目には 1 つのカテゴリが含まれています。CoreData モジュールには、1 つのカテゴリとの関係を持つ Item エンティティがあります。

XML ファイルを解析し、"Item" 要素でメッセージ parser:didStartElement:... をヒットしているときに、Item の NSEntityDescription を作成します。次に、パーサーはメッセージ parser:didStartElement:... で再びカテゴリ項目を受け取り、カテゴリの NSEntityDescription を作成します。

XML:

したがって、CurrentItem の作成が完了していない間に、最初に currentCategory に対してコンテキスト save: 呼び出しが呼び出されます。

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

iphone - コア データ: 詳細ビューからのオブジェクトの編集

Core Data を使い始めたばかりで、iPhone Core Data プロジェクトをマスター/詳細ビュー システムにセットアップしています。マスター ビューには項目が含まれ、詳細ビューでは選択した項目のプロパティを編集できます。

編集を実装するための最良のオプションを探しています。NSManagedObjectContext を詳細ビュー コントローラーに渡して、変更を加えて変更を保存しますか?それとも機能しますか? これを行う方法を示すコード例はありますか?

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

iphone - コア データ自動更新クエリ

コア データと、エンティティが自動的に更新される場合、その方法について質問があります。

基本的に、データ X をフェッチするとします。X は Y と逆対多の関係にあります。次に、X の属性を更新するためにメソッド get が呼び出されます。データを再度フェッチする必要がありますか? または、X は更新されたデータを自動的に取得しますか?

これが不可能な場合は、問題ありません。数日前に投稿を見たので、私はちょうど興味がありました。詳細は覚えていませんが、NSManagedObjects にデータを自動的に更新/更新させる方法について話していたと思います。これが本当なのか、設定する必要があるのか​​、それとも不可能なのかを知りたいと思っていました。

私は実際にデータを再取得してテーブルを更新しています。これは私には問題ありませんが、繰り返しますが、私が読んだことが真実なのか、それとも投稿を誤解したのかが気になります.

ありがとう。

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

iphone - iPhones SDK:コアデータを使用してリレーションシッププロパティオブジェクトを設定しますか?

アプリでコアデータを使用しています。関連する2つのエンティティがあります:EntityAとEntityB。EntityAには、EntityBとの「関係」タイプのプロパティがあります。さらに、これらのエンティティは両方とも定義済みのクラスです(デフォルトのNSManagedObjectではありません)。次のように、データに新しいオブジェクトを挿入しています。

問題は、entityB.nameがnullであるということです。値を割り当てた直後にNSLog()ステートメントを追加しても、nullになります。EntityBがEntityAのプロパティである場合、EntityBの「名前」プロパティを設定する適切な方法は何ですか?

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

iphone - NSManagedObject サブクラスへの格納された参照を取得する方法は?

Tour という名前の NSManagedObject サブクラスがあります。このコードを使用して参照を保存しました:

今、私はそれを取り戻したいと思っています。私は使用してみました:

しかし、「互換性のないObjective-cタイプです。「struct NSManagedObject *」を初期化しています。「struct Tour *」が必要です

さらに、実行すると、「キャッチされていない例外 'NSObjectInaccessibleException' が原因でアプリを終了しています。理由: 'CoreData は '0x5001eb0 の障害を実行できませんでした。

どうすればこれを解決できますか?

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

iphone - 結果をフィルタリングするコアデータNSPredicate

bIDとpIDを含むNSManagedObjectがあります。NSManagedObjectsのセット内で、サブセットのみを返したいのですが、正しいNSPredicateまたはコアデータから必要なものを取得する方法を見つけるのに苦労しています。

これが私の完全なリストです:

入札pid410 42 41
43 0 44 0 47 41 48 0 49 0 50 43






上記には親子関係があります。

ルール:

レコードのPID=0の場合、そのレコードが親レコードであることを意味します。レコードのPID!= 0の場合、そのレコードのPIDはその親レコードのBIDを参照します。

例:

1)BID=41は親レコードです。なんで?レコードBID=42およびレコードBID=47のPIDは41であるため、これらはそのPIDレコードの子です。
2)BID=42にはBID=41の親レコードがあり
ます。3)BID=43は親レコードです。
4)BID=44は親レコードです。
5)BID = 47には、PID = 41であるため、BID = 41の親レコードがあります。上記の#1を参照してください。
6)BID=48は親レコードです。
7)BID=49は親レコードです。
8)BID = 50は子レコードであり、その親レコードのBID=43です。

パターンを見ますか?

さて、基本的にそれから、私は次の行だけをフェッチしたいです:

入札pid440 47 41 48 0
49 0 50 43



BID = 41、BID = 48、BID = 49は、BIDと等しいPIDを持つレコードがないため、すべて返される必要があります。

BID = 47は、PID = 41の最新の子である
ため、返される必要があります。BID= 50は、PID = 43の最新の子であるため、返される必要があります。

これがそれをもっと説明するのに役立つことを願っています。

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

iphone - サブグラフ内のすべての変更を追跡/監視するにはどうすればよいですか?

NSManagedObjectContextがあり、NSManagedObjectsのサブクラスがいくつかあり、一部は他のコンテナになっています。私がやりたいのは、最上位のオブジェクトを監視して、そのプロパティ、関連付け、またはオブジェクトに含まれるオブジェクトのプロパティ/関連付けの変更が通知されるようにすることです。

コンテキストの「hasChanges」を使用しても、十分な粒度が得られません。オブジェクトの「isUpdated」メソッドは、指定されたオブジェクトにのみ適用されます(その関連付けには何も適用されません)。サブグラフに限定されたコンテキストで変化を観察できる便利な(おそらくKVOベースの)ものはありますか?

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

iphone - NSManagedObjectへの参照の存在を確認するにはどうすればよいですか?

このサイトhttp://cocoawithlove.com/2008/08/safely-fetching-nsmanagedobject-by-uri.htmlにある例を使用して、NSManagedObjectへの参照を正常に保存および取得しました。

問題は、削除されたNSManagedObjectを取得しようとするとアプリがクラッシュすることです。

オブジェクトに対してisFaultメソッドを試しましたが、オブジェクトがそこにある場合でも、常にnoを返します。

これが私がそれを取得するために使用する私のコードです: