問題タブ [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 に答える
3183 参照

iphone - NSDictionary コンテンツで NSManagedObject を作成する

NsDictionary の内容で NSManagedObject を作成したいと考えています。そしてビザ・ヴァーサ。

MYSQL データベースから取り込まれ、ドキュメント ディレクトリに格納されるオブジェクトとキーを持つ NSDictionary があります。辞書を編集するための良い情報が見つからないので、代わりに NSManaged Object を試してみようと思いました。

オブジェクトの属性が変更された場合、手順を逆にしてオブジェクトを送り返すことができるようにしたいと考えています。

この例を見つけるのに役立つものは素晴らしいでしょう。

ありがとう、

マイケル

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

iphone - CoreData:NSManagedObjectがユーザー定義のメッセージに応答しません

CoreDataを使用して(iPhoneアプリで)モデルからエンティティクラスを生成し、いくつかのメソッドにさらにいくつかのメソッドを追加しました。これらのメソッドの1つを呼び出すと例外が発生することがあるようです。例外はランダムではありませんが、一部のManagedObjectサブクラスのみに関係します(他のサブクラスは正しく応答するようです)。これが私が得るものの例です:

2010-07-15 10:29:55.216 LP [6686:207]***キャッチされなかった例外'NSInvalidArgumentException'が原因でアプリを終了しています、理由:'-[NSManagedObject printTime]:認識されないセレクターがインスタンス0x5b50af0に送信されました

NSManagedObjectは、フェッチから取得した(正しいサブクラスにキャストされた)オブジェクトであり、私が話しているメソッドは印刷メソッドです。(私も障害としてではなくそれらを取得しようとしました)私は何かが欠けていますか?

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

ios - 誰かがこの @synthesize 構文を説明できますか?

最新の iOS SDK のコア データを含むナビゲーション ビュー テンプレートの例に従っています。

ファイルのrootViewController.m@synthesize 行に次のように表示されます。

ヘッダー ファイルの場所:

}

これは、両方が @syntheized (ゲッターとセッターの作成) であるが、一方が他方と等しくなるように設定されていることを意味しますか? また、ファイルfetchedResultsController内のメソッドでもあるようです。rootViewController.m

この SDK バージョンでは、このテンプレートが変更されました。私は Apress の書籍「More iPhone 3 development」に従っていますが、これは非常に混乱した問題です。

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

iphone - NSManagedObjectのインスタンスをNSManagedObjectContextに追加します。同じインスタンスの更新に失敗しました。

iPhoneアプリでコアデータを使用しています。NSManagedObjectから派生し、次のプロパティを使用する単純なクラスFriendを作成しました。

このクラスのインスタンスをコンテキストに追加および削除することができ、変更も永続的です。
ここで、フレンドインスタンスを更新/変更して、再度永続化する必要があります。

しかし、これはうまくいかないようです。

これが私の問題を示すコードの一部です:

コメント1ではすべてが順調です。Friendタイプの新しいNSManagedObjectを取得し、nameプロパティを変更できます。コンテキストは、保存するものがあることを示しています。コンテキストを保存した後、context.hasChanges==0が表示されます。コンテキストを保存した後もデータが永続的であることに注意してください。

コメント2の後、nameプロパティを変更します。ここで、context.hasChanges == 1を期待し、コンテキストを保存した後も、新しい名前が永続的であると期待します。しかし、残念ながらそうではありません。アプリケーションを再起動し、name-property = @"name1"でFriendインスタンスをロードします。

コアデータドキュメント内にヒントや例が見つかりません。だから私は何が間違っているのですか?既存のフレンドインスタンスを更新/変更し、それを永続化するにはどうすればよいですか?

私が見る唯一の解決策は、エントリを削除し、変更して、再度追加することです。しかし、これが正しい方法だとは思いません。

ありがとう!

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

objective-c - コア データ: 保存されていないオブジェクトを削除するとエラーが発生する

コア データ プロジェクトで問題が発生しました。NSManagedObjects を含む NSArrayController と + / - ボタンがあります。ファイルが保存された後に行内のオブジェクトを削除すると完全に機能しますが、新しいオブジェクトを追加してすぐに再度削除すると (デフォルト値を変更せずに)、エラーが発生します:

新しいオブジェクトの追加を取り消しても同じです。

何をすべきかを教えてくれる人はいますか?一時的なIDしか持っていないことが関係していると思いますが、解決方法がわかりません。

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

objective-c - NSManagedObject について

既存のプロジェクトでは、プロジェクトが作成されてからずっと後に Core Data を導入しようとしたため、そのモデルは既に整っています。xcdatamodel を作成し、唯一のクラスを追加しました。そのクラスは、アプリケーション内のオブジェクトのグローバル ストレージとして機能する必要があります。クラスは NSManagedObject を適切に実装しており、コンテキストで作成および保存され、フェッチ結果とともに取得されることを確認しました。

このクラスにデータを保存するには、NSMutableArray を使用します。しかし、これはうまくいきません。このクラスのフラグメントを次に示します。

実装では、次のように initWithEntity もオーバーライドします。

init メソッドは変更可能な配列のみを初期化します。ログから、エンティティの作成時にアプリ デリゲートによって適切に呼び出されることがわかります。add メソッドはメッセージ insertObject をpersistentStorageに送信するだけです。これから来る質問:

  1. 私は「概念的に」正しくやっていますか?つまり、管理対象オブジェクトにインスタンス変数を持ち、私のように初期化するのは正しいですか?
  2. nsがpersistentStorageのサイズをログに記録すると、addObjectメッセージの直後にログを記録しても常に0になります(編集:それは真実ではありません。もう一度確認したところ、正しく1が追加されました)
  3. 管理対象オブジェクトクラスからpersistentStorageに格納されるオブジェクトは、属性を持つ通常のクラスです。私は彼らと何かする必要がありますか?実行時にエラーが発生していないため、そうではないと思います。
0 投票する
1 に答える
121 参照

objective-c - 多くの NSManagedObjects をテーブル ビューに表示し、リソースのオーバーヘッドをあまりかけない効果的な方法は何ですか?

特定の種類の管理対象オブジェクトをすべて表示するテーブル ビューに取り組んでいます。ユーザーがスクロールして新しいセルを設定したときに常に障害が発生するのを防ぐために何かをする必要があるかどうか疑問に思っています。データソースで?

大量の管理対象オブジェクト (数百) について詳しくはわかりませんが、障害を発生させるとリソースが消費されることは理解しています。セルが表示されるたびに、管理対象オブジェクトにそのプロパティの 1 つを要求しています。テーブルビューセルを表示するために必要なすべての情報を備えたviewDidLoadで別の新しい配列を作成して、管理対象オブジェクトの繰り返しの障害を防ぐ必要がありますか?

これについて助けてくれてありがとう。

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

core-data - COMPILED Core Data Managed Object Model: それと対応するデータベースから最大限の情報を取得

私は Objective-C の初心者です。本やインターネットで解決策を見つけることができませんでした。

私の質問:ソース コードがなくても、コンパイル済みの .mom と SQLite db を使用する最も効率的で最速の方法は何ですか?

詳細: 小さなアプリを別のアプリケーションのデータベースに接続し、そのデータの一部を (読み取り専用で) 使用しようとしています。しかし、そのアプリには SDK がないため、この作業は困難です。

そのアプリには、コンパイルされた .mom ファイルと SQLite データベースがあります。

プログラムで (IB を使用せずに) .mom を使用してデータベースに接続することに成功し、エンティティを取得したり、自分で再作成したオブジェクトにデータを入力したりすることができました。しかし、すべてのステップを推測、試行錯誤で行っています。したがって、開発には多くの時間がかかり、エラーが発生しやすくなります。分析するのが最も難しい作業は、中間テーブルを介した対多関係です。

例: エンティティ "Books" は "Authors" と関係があります。著者の順序が重要であるため、次のフィールドを含む中間テーブル「authorsNumbered」があります。番号、著者、本。フィールド「番号」は、どこにでも表示される著者の正確な順序を決定します (重要!)

最終的に、NSSortDescriptor を使用して順序付けられた著者の配列を作成することができましたが、その方法を見つけて推測するのに丸 1 週間かかりました!

私が使用したものよりも、コンパイルされた .mom を処理するためのより効率的な方法を提案していただけますか?

ありがとう

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

iphone - 文字列でnsmangedobjectを一意に識別する方法は?

Coreデータとリージョンモニタリングを使用しています。監視対象領域を区別する唯一の方法は、識別子にNSStringを使用することです。NSManagedObjectIDを使用したいのですが、動作させることができません。

私が試したこと:

私が得るエラーは次のとおりです。

より良い方法のアイデアはありますか?または私が間違っていることは何ですか?

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

iphone - NSManagedObjectContextの問題

「usecoredata」オプションを設定してプロジェクトを設定しました。

XCodeは明らかにこれらすべてを自動的に設定し、アプリデリゲートヘッダーファイルに次の行があります。

私の最初の質問は、管理対象オブジェクトなどの最初のポインターにアンダースコアが付いているのはなぜですか?これは、.mファイルでの使用方法ですが、@propertysにはアンダースコアがありません。

次の質問は、スクリプトでコンテキストをさらに使用したいので、次の行を使用しました。

obvsには@synthesizeがないため、これは機能しません。しかし、何を合成する必要がありますか?アンダースコア付きで合成しますか、それともなしで合成しますか?delegate.managedObjectContextまたはdelegate.managedObjectContext_?またはまったくない?Ha..この管理対象オブジェクトのすべてを理解しているのかよくわかりません。

どうもありがとう。トム