問題タブ [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.
cocoa - Key-Value コーディングとメソッドの呼び出し
Cocoa を使った優れたプログラミング手法についての質問です。
クラスの 1 つのプロパティでメソッドを呼び出したい場合、KVC を使用してレシーバーを取得する必要がありますか?それとも単にプロパティの名前を入力する必要がありますか?
例、KVC:
簡単な例:
ありがとう!
iphone - KVO と NSNotifications のパフォーマンス速度は?
Key-Value Observations (KVO) と NSNotifications の使用を恐れるべきですか? 私は自分のアプリでそれらを使い始めていますが、アプリ全体の呼び出しをトリガーしたり、自動的に何かを実行したりする可能性のあるものの概念に少し慣れておらず、そのようなオーバーヘッドがもたらすパフォーマンスへの影響を少し恐れています.
私の懸念は根拠のないものですか?他のメソッド呼び出しと同じように使用する必要がありますか? とても便利そうで、隙間がたくさん埋まっているので、できれば使ってみたいです。注: 私は主に iOS デバイス向けにプログラミングしているので、パフォーマンスは常に気になります。
objective-c - キー値コーディング プリミティブ
KVCを使用してオブジェクトのプロパティを設定する自動逆シリアル化コードがあります。プリミティブ (int、double、float) のデシリアライゼーション サポートを追加する必要がありますが、プリミティブで " setValue: forKey: " を使用することができません (またはその方法が不明です)。プロパティのルックアップは実行時に実行する必要があります。何か案は?ありがとう。
objective-c - KVC配列:ゲッターとインデックス付きアクセサー?
仮定すると
コレクション アクセサーを実装する利点は何ですか?
よりもどのように
[anOffice countOfEmployees]
優れてい[[anOffice employees] count]
ますか?バインディングはコレクション アクセサーに依存しますか、それとも完全に無視できますか? 私は真の配列オブジェクトを使用しているので、冗長に見えます。従業員がそうではなく、
NSMutableArray
カウントメソッド自体のようなものを実装していない場合、それらがどのように必要になるかを理解できます。mutableArrayValueForKey:@"employees"
また、単に の代わりに employees プロパティを取得するために使用する理由にも完全に困惑していますvalueForKey:@"employees"
。
ありがとう!
objective-c - 同じインターフェースを持つ別のオブジェクトをラップする Objective-C オブジェクトの作成 - KVC/KVO の問題
別のオブジェクトからオブジェクトをラップする 1 つのクラス階層にオブジェクトを作成する必要があります。どちらも非常に似たインターフェースを持っており、独自のプロパティを実装する代わりに、ラッパーが認識しないメッセージをターゲットに自動的に転送したいと考えています。私はこれを次のようなものを使って動作させました:
ただし、これはキー値コーディングでは機能しません。ラップされたオブジェクトのプロパティを使用する方法でラッパーにキー値コーディングを実装させるにはどうすればよいですか?
objective-c - KVC 文字列変換が BOOL 値に対して機能しない
おい。ファイルから文字列を読み込んで、結果の文字列を使用して、KVC メソッドを使用してオブジェクトに BOOL プロパティを設定しようとしています-setValue:forKeyPath:
。ただし、これは例外で壊れます: -[NSCFString charValue]: unrecognized selector sent to instance 0x7fff711023b0
. これは、BOOLがcharからtypedefされているためだと思います。これを回避する方法はありますか?ありがとう!
core-data - 追加Object と insertNewObjectForEntityForName コア データの関係
やあ、
データベース開発の経験は豊富ですが、Core Data でのリンク関係を概念化するのに苦労しています。私が理解しているように、多くの関係は 1 つのファイルに添付された NSSet です。ドキュメントを読んだ後、その一部を理解し、以下のコードの最初のインポートで動作するようになりました。
XMLParser を使用して 2 つの個別のインポートを実行するデータ モデルがあります。最初のインポートは、次のように、同じインポート内の同じ XML ファイルからイベントとカテゴリをロードします。
上記は正常に動作します。2 番目のインポートでは、アプリケーションの別の部分で EventLocations が個別に読み込まれるため、イベントとの対 1 関係を設定する必要があります。ここがよくわからないところです。ステップはどうあるべきですか?
手順 B と C についてはよくわかりません。助けていただければ幸いです。ありがとう。
cocoa - UIView サブビュー プロパティを合計するための KVC パスは何ですか?
UIScrollView でサブビューの高さの合計を計算しようとしています:
しかし、それは以下をスローします:
@sum
そのパスのさまざまな場所に演算子を配置しようとしましたが、すべて同じ結果になりました。
もちろん、ループでこれを行うこともできますが、特に KVC ソリューションに興味があります。それは可能だと思いますが、やり方が間違っているだけです。適切なパスは何ですか?
iphone - three20 for iPhone で TT_RELEASE_SAFELY を使用する理由
three20 が ivar を解放した後に nil を代入しても安全だと考えるのはなぜですか? ステップを外すのは危険ivar = nil
ですか?
これは私が見つけたすべてです :
KVO/KVC を使用しているとは思いませんが、よくわかりません。私は今それを読んでいます。
ありがとう!
マット
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 に準拠する必要があります。どうしてうまくいかないの?