問題タブ [key-value-coding]
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.
iphone - iPhone のキーと値のコーディング -- キーの存在をテスト
iPhone の key-value-coding には、クラスが特定のキーを受け入れるかどうかをテストする方法がありますか?
つまり、ターゲット クラスの valueForUndefinedKey: または setValue: forUndefinedKey: メソッドを実装せずに、次のようなことができるようにしたいと考えています。
iphone - コア データ: 属性にアクセスするには 2 つの異なる方法がありますが、機能するのは 1 つだけです
次のコードでは、下の行の前にある 2 つのコメントのうち、最初の行だけが機能します。
2回目のリターンとエラー
objective-c - 欠落しているオブジェクトを追加して順序付きコレクションを作成する
私が欲しいものを一文で明確にする方法がわからないので、主題はあいまいです.
ここに行きます:
NSDictionaries の NSArray があります。各 NSDictionary は暦年の 1 日を表します。各 NSDictionary には、NSDate の値を持つキー「日付」があります。配列には 365 個の NSDictionary 項目が必要です。ディクショナリは、私が管理していないサーバーによって作成され、100 日も欠落している場合があります。
配列に 365 個の辞書が含まれていることを確認する必要があります。
私は現在、配列を日付でソートし、反復処理して、NSDictionaries を現在の配列から新しい配列にコピーしています。そうしながら、現在の辞書の日付値と次の辞書の日付値を比較します。2 つの日付の間に 1 日以上ある場合は、欠落している日をカバーするのに十分な数の新しい辞書を新しい配列に追加し (そしてそれに応じて日付を設定し)、次に進みます。
日付は順序付けられているはずなので、フレームワークまたは言語に、「ここに配列があり、このキーパスは連続している必要があります。不足しており、それらを初期化するために使用できるブロックまたはメソッドがあります。」
私の方法のどこかが実装が不十分だと感じているので、あなたに頼ります。考え?
ありがとう。
.net - Objective-c用のAutoMapperに似たものはありますか?
AutoMapper for .Netを使用すると、あるタイプから別のタイプにマップできます。その最も基本的な機能は、タイプBに存在する(名前とタイプが一致する)タイプAからプロパティ値をコピーすることにより、別のタイプのクラスから1つのタイプのクラスを作成することです。
例:
Objective-Cにこのようなものはありますか?
objective-c - 複数のプロパティが変更されたときにアクションを実行する
x、y、zの3つの異なるプロパティがあります。それらがすべてnilになったら、アクションを実行する必要があり、そのうちの1つが値!= nilに設定されている場合は、別のアクションを実行する必要があります。
私の現在の実装は次のとおりです。
それは機能しますが、私が現在見落としているこのようなものに対して、はるかに簡単でより良い解決策があることを願っています。ピンときた
objective-c - cocoaで独自のキーパス演算子を定義する
@ avg、@sumなどの独自のキーパス演算子を定義することは可能ですか...</ p>
iphone - ExecuteFetchRequest が断続的に同じパラメーターで例外をスローします。「キーのキー値コーディングに準拠していません」
編集マットの投稿のおかげで、配列として「開始」にアクセスしようとしてはならないことがわかりました。ただし、その場合、このコードが他の場所で機能しているように見える理由を知りたいです。これはまだ「どちらか一方」であるべきだと私には思えます。うまくいくか、うまくいかないか。
オリジナル コードのさまざまな部分で同じフェッチ要求を使用して、最新のゲームを見つけています。
「Game」は NSManagedObject で、「started」は日付属性です。「開始」は、awakeFromInsert のオブジェクトごとに 1 回だけ設定されます。それ以降は一度も変更されていません。ゲームが直接インスタンス化されることはありませんが、3 つのサブクラスがあります。ゲームを抽象的かつ具体的にしようとしましたが、どちらもこの問題には影響しません。
ここhttp://cocoawithlove.com/2008/03/core-data-one-line-fetch.htmlで cocoa with love に示されているように、フェッチを実行するために NSManagedObjectContext カテゴリを使用しています。
私が得ているエラーは次のとおりです。
すべてのゲームのすべての「開始」属性ではなく、述語が @max を単一の NSDate に適用しようとしているように見えます。よくわかりませんが。私は述語が苦手で、これを作成するのに多くの試行錯誤が必要でした。ただし、まったく同じフェッチで別の場所でエラーが発生する可能性があることはわかりません。
フェッチは NSFetchedResultsController の一部ではありませんが、エラーが発生しているクラスで fetchedResultsController を使用しています。例えば:
そしてここにも:
この正確なフェッチは、起動時など、いくつかの場所で数回実行されますが、クラッシュするのは 1 つのクラスだけです。私が言ったように、それは断続的ですが、新しい Game オブジェクトを作成した後のいつかのようです。ゲームは 1 つのタブで作成され、上記のコードは履歴を表示する 2 番目のタブからのものです。
ここで同様のエラーが発生しました。その場合、問題はコンピューターを再起動することで解決され、最終的に XCode は属性がモデルから削除されたことを認識することができました。私はそれを試しましたが、まだ問題が発生しています。また、モデルの「開始」属性を削除して再作成しようとしました。Core Data トラブルシューティング ガイドも読みましたが、ヘルプも見つかりませんでした。
core-data - -primitiveValueForKeyのポイントは何ですか:?
-setPrimitiveValue:forKey:
KVO通知はトリガーされません。しかし、私の頭の中では、KVOは何かが変わったときにのみ意味があります。しかし、読み取りのためだけにアクセスする場合、どうすれば何かを変更できますか?
-primitiveValueForKey:
一部のキーのオブジェクトのみを取得します。しかし、それはそれを変更しません。では、なぜこれが使用時にKVO通知を引き起こすのでしょう-valueForKey:
か?
(もちろんポイントはありますが、まだわかりません。)
cocoa - プロパティアクセサーをivarのメソッドに転送する
選択したテーブル行を詳しく説明するパネルがあります。明らかに、パネルの表示は頻繁に更新する必要があり、私はそのタスクをNSWindowControllerサブクラスにプッシュしました。
カスタムNSWindowControllerに@property
、テキストフィールドの文字列値やNSImageViewsの画像値などのsを設定したいと思います。アクセサーに新しいコードは必要ないので、必要です@synthesize
。残念ながら(私にとって)、でキーパスを使用するオプションはありません@synthesize property=ivar
。
明らかな解決策は、フォームの独自のアクセサーを作成することです
しかし、いくつかのプロパティのそれぞれについて、手動で行う必要はありません。
もっと簡単な方法はありますか?objectValue
おそらく、別のオブジェクトの特定のプロパティ(実際には適切なプロパティではないなどを除く)に転送するようにプロパティを設定する一般的な方法ですか?
iphone - Objective-C でネストされた辞書値に直接アクセスする
Objective-Cで外部配列の内部配列に直接アクセスする方法はありますか? たとえば、外部データ ソースを呼び出すと、次のオブジェクトが返されます。
たとえば、location.name または metadata.pictures.picture データにアクセスできるようにしたいと考えています。ただし、ドット表記は機能しないようです。例えば:
このデータにアクセスできる唯一の方法は、最初に内部配列の内容をオブジェクトに設定することです。考え?