問題タブ [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.
objective-c - NSUnknownKeyException、KVCコンプライアンスコードが機能しない
次のコードは正常にビルドされ、私には問題ないように見えますが、機能しません...キー値コーディングに不慣れであり、あなたの助けが大いに感謝されることを忘れないでください...テーブルビューデリゲートdidSelectRowAtIndexPath:メソッドはこちらカテゴリリストは、5つのエントリを持つ単純なテーブルです
次に、childControllerArrayを次のコントローラーのloadArray ivarに渡します。これは、特定の配列で任意の行が選択されるとプッシュされ、その配列の内容が表示されます。上記のコードを削除して、オブジェクトの単純な配列をに渡すと、それ、それはうまく機能します....助けてください
与えられた例外は次のとおりです。
Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSCFString 0x543eb0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key Class.
cocoa - BOOL 値にバインドされた NSTableColumn
私は NSTableView を NSArrayController にバインドしています。私のモデルには BOOL フィールドがあります。その値を列にバインドしようとしています。正しく表示されます (値が YES の場合は 1、値が NO の場合は 0)、読み取り専用です。=(値を編集しようとしても送信できません-Enterキーを押しても何も起こらず、セッターは呼び出されません。列は編集可能です。
IB で正常にバインドできます。通常どおりバインドするだけで、すべて動作します。しかし、私はプログラムで同じことを行うことはできません=(
それが列の作成および追加方法です。
BOOL 値にのみ問題があります。同じ列を他のフィールドにバインドすると (keyPath を変更するだけで)、すべて正常に動作します。
objective-c - objectForKey と valueForKey の違いは?
objectForKey
とはどう違いvalueForKey
ますか?ドキュメントで両方を調べたところ、同じように見えました。
cocoa - XCode Debugger のこれらのエラーは何を意味しますか?
XCode に 2 つのエラーがあり、その意味を理解しようとしています。
1つ目:
2009-06-30 18:56:27.998 Spark[4584:10b] Error setting value for key path filterPredicate of object <NSArrayController: 0x1482c0>[entity: group, number of selected objects: 1] (from bound object <NSSearchField: 0x143f20> with object ID 1387 in Nib named MainMenu.nib): [<NSManagedObject 0x1d8170> valueForUndefinedKey:]: the entity group is not key value coding-compliant for the key keyPath.
2つ目:
彼らはどういう意味ですか?
objective-c - Key-Valueが機能しない場合のObjective-Cドット構文のトリック?
私はいくつかのオブジェクトを反復処理していて、明らかにKey-Valueコーディングが気に入らないいくつかのプロパティを設定しようとしています。そのため、実行時に「キー」を表す文字列を作成できません。
ViewControllerのこの行はコンパイルされません:
しかし、ばかげたswitchステートメントでドット表記を使用してこれらのプロパティを設定できます。
これについて別の方法はありますか?おそらくmyView(i).center.xのようなアクセサーを作成しますか?それが無駄になることを十分に知っていたので、私も試しました:[NSString stringWithFormat:@ "myView%d"、anInt].center.x
無駄に...
objective-c - オブジェクトインスタンスの作成/破棄を監視するにはどうすればよいですか?
私はKVC/KVOに夢中です。超強力。ただし、1つの問題があります。私はMVCエトを真にしようとしていますが、Objective-Cクラスインスタンスの割り当てまたは割り当て解除を監視するために観測パターンを使用する方法がわかりません。
これは実際に重要です。コントローラー(またはデリゲート)から監視したい、きめ細かい内部メッセージングを備えたモデルがあるからです。私にとっての障害は、モデルの外部で、カプセル化を危険にさらすモデルの内部ロジックをコントローラーが知らなくても、割り当てが解除されようとしているサブコンポーネントのオブザーバーを削除する方法がわからないことです。
誰かがこのシナリオのアプローチを提案できますか?
ありがとう、ダグ
objective-c - Cocoa/Obj-C で KVC の BOOL をどのようにラップしますか?
私は KVC を使用して、いくつかのビューを繰り返し処理しています。BOOL プロパティの設定に問題がある場合:
警告: 'setValue:forKeyPath:' の引数 1 を渡すと、キャストなしで整数からポインターが作成されます。
[NSValue valueWithBool:YES] など、私が見つけることができるものはありません。
何をすべきか?
objective-c - Xcode Meanでこれらのエラーが発生するのはなぜですか?
2009-07-06 06:49:13.666 Spark[9825:10b] -[<NSUserDefaultsController 0x137af0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key hotKeyDisplayEntry.
2009-07-06 06:49:13.667 Spark[9825:10b] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSUserDefaultsController 0x137af0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key hotKeyDisplayEntry.'
編集: 私が問題を引き起こしたと思うもの。
NIBでは、テキストフィールドをNSDefaultsControllerにも接続しました。
cocoa - NSMutableDictionaryとNSMutableArrayを使用して発生したパフォーマンスヒット>
現在のNSMutableArrayの代わりにNSMutableDictionaryを使用することを検討しています。これは主にKVC/KVOの理由によるものです。コレクションは、私の描画方法の内側のループ内で大きな変化を起こします。この交換を進めると、パフォーマンスが大幅に低下することが予想されますか?
乾杯、ダグ
objective-c - Cocoa KVC:「クラスはKeyValueコーディングに準拠していません」
KVCでいくつかのプロパティを更新しようとしています。プロパティが合成されました。
この行は機能します:
これは機能しません:
そして、次のように爆発します: キャッチされなかった例外によるアプリの終了'NSUnknownKeyException'、理由:'[<MyViewController 0xd1cec0> setValue:forUndefinedKey:]:このクラスはキーmyObject.valueのキー値コーディングに準拠していません。
さらにメソッド(awakeFromNib)のさらに上では、同じクラスの他のインスタンスがsetValue:forKey:呼び出しに正常に応答します。唯一の違いは、この特定のインスタンスがIBで作成され、接続されていることです。