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

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

cocoa - Key-Value コーディングとメソッドの呼び出し

Cocoa を使った優れたプログラミング手法についての質問です。
クラスの 1 つのプロパティでメソッドを呼び出したい場合、KVC を使用してレシーバーを取得する必要がありますか?それとも単にプロパティの名前を入力する必要がありますか?

例、KVC:

簡単な例:

ありがとう!

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

iphone - KVO と NSNotifications のパフォーマンス速度は?

Key-Value Observations (KVO) と NSNotifications の使用を恐れるべきですか? 私は自分のアプリでそれらを使い始めていますが、アプリ全体の呼び出しをトリガーしたり、自動的に何かを実行したりする可能性のあるものの概念に少し慣れておらず、そのようなオーバーヘッドがもたらすパフォーマンスへの影響を少し恐れています.

私の懸念は根拠のないものですか?他のメソッド呼び出しと同じように使用する必要がありますか? とても便利そうで、隙間がたくさん埋まっているので、できれば使ってみたいです。注: 私は主に iOS デバイス向けにプログラミングしているので、パフォーマンスは常に気になります。

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

objective-c - キー値コーディング プリミティブ

KVCを使用してオブジェクトのプロパティを設定する自動逆シリアル化コードがあります。プリミティブ (int、double、float) のデシリアライゼーション サポートを追加する必要がありますが、プリミティブで " setValue: forKey: " を使用することができません (またはその方法が不明です)。プロパティのルックアップは実行時に実行する必要があります。何か案は?ありがとう。

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

objective-c - KVC配列:ゲッターとインデックス付きアクセサー?

私はこれに混乱しています: http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/KeyValueCoding/Concepts/AccessorConventions.html#//apple_ref/doc/uid/20002174-178830-BAJEDEFB

仮定すると

  1. コレクション アクセサーを実装する利点は何ですか?

  2. よりもどのように[anOffice countOfEmployees]優れてい[[anOffice employees] count]ますか?

  3. バインディングはコレクション アクセサーに依存しますか、それとも完全に無視できますか? 私は真の配列オブジェクトを使用しているので、冗長に見えます。従業員がそうではなく、NSMutableArrayカウントメソッド自体のようなものを実装していない場合、それらがどのように必要になるかを理解できます。

  4. mutableArrayValueForKey:@"employees"また、単に の代わりに employees プロパティを取得するために使用する理由にも完全に困惑していますvalueForKey:@"employees"

ありがとう!

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

objective-c - 同じインターフェースを持つ別のオブジェクトをラップする Objective-C オブジェクトの作成 - KVC/KVO の問題

別のオブジェクトからオブジェクトをラップする 1 つのクラス階層にオブジェクトを作成する必要があります。どちらも非常に似たインターフェースを持っており、独自のプロパティを実装する代わりに、ラッパーが認識しないメッセージをターゲットに自動的に転送したいと考えています。私はこれを次のようなものを使って動作させました:

ただし、これはキー値コーディングでは機能しません。ラップされたオブジェクトのプロパティを使用する方法でラッパーにキー値コーディングを実装させるにはどうすればよいですか?

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

objective-c - KVC 文字列変換が BOOL 値に対して機能しない

おい。ファイルから文字列を読み込んで、結果の文字列を使用して、KVC メソッドを使用してオブジェクトに BOOL プロパティを設定しようとしています-setValue:forKeyPath:。ただし、これは例外で壊れます: -[NSCFString charValue]: unrecognized selector sent to instance 0x7fff711023b0. これは、BOOLがcharからtypedefされているためだと思います。これを回避する方法はありますか?ありがとう!

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

core-data - 追加Object と insertNewObjectForEntityForName コア データの関係

代替テキスト

やあ、

データベース開発の経験は豊富ですが、Core Data でのリンク関係を概念化するのに苦労しています。私が理解しているように、多くの関係は 1 つのファイルに添付された NSSet です。ドキュメントを読んだ後、その一部を理解し、以下のコードの最初のインポートで動作するようになりました。

XMLParser を使用して 2 つの個別のインポートを実行するデータ モデルがあります。最初のインポートは、次のように、同じインポート内の同じ XML ファイルからイベントとカテゴリをロードします。

上記は正常に動作します。2 番目のインポートでは、アプリケーションの別の部分で EventLocations が個別に読み込まれるため、イベントとの対 1 関係を設定する必要があります。ここがよくわからないところです。ステップはどうあるべきですか?

手順 B と C についてはよくわかりません。助けていただければ幸いです。ありがとう。

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

cocoa - UIView サブビュー プロパティを合計するための KVC パスは何ですか?

UIScrollView でサブビューの高さの合計を計算しようとしています:

しかし、それは以下をスローします:

@sumそのパスのさまざまな場所に演算子を配置しようとしましたが、すべて同じ結果になりました。

もちろん、ループでこれを行うこともできますが、特に KVC ソリューションに興味があります。それは可能だと思いますが、やり方が間違っているだけです。適切なパスは何ですか?

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

iphone - three20 for iPhone で TT_RELEASE_SAFELY を使用する理由

three20 が ivar を解放した後に nil を代入しても安全だと考えるのはなぜですか? ステップを外すのは危険ivar = nilですか?

これは私が見つけたすべてです :

KVO/KVC を使用しているとは思いませんが、よくわかりません。私は今それを読んでいます。

ありがとう!

マット

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

objective-c - UITableViewController の編集プロパティを観察する

editingのインスタンスのプロパティを観察できないのはなぜUITableViewControllerですか?

私は次のコードを使用しています:

メソッドを実装しました:

...しかし、observeValueForKeyPathこの値が変更されたときにメソッドが呼び出されることはありません。


Apple のEnsuring KVC Complianceセクションによると:

属性または対 1 の関係であるプロパティの場合、クラスは次のことを行う必要があります。

  • -<key>、 という名前のメソッドを実装する-is<Key>か、インスタンス変数<key>またはを持ちます_<key>
  • プロパティが変更可能な場合は、 も実装する必要があります-set<Key>:
  • メソッドの実装では、-set<Key>:検証を実行しないでください。
  • -validate<Key>:error:検証がキーに適している場合、クラスは実装する必要があります。

プロパティのドキュメントには、次のeditingように定義されていると記載されています。

このプロパティは可変ではないため、準拠する必要がある唯一の箇条書きは最初のものです (つまり、-is<Key>メソッドが定義されているなど)。isEditingプロパティの宣言を見て、メソッドが定義されていることに気付くと、これに準拠していることがわかります。したがって、Key Value Observing に準拠する必要があります。どうしてうまくいかないの?