問題タブ [kvc]

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 に答える
1832 参照

kvc - KVC valueForKeyは、__NSCFStringの代わりに__NSCFConstantStringを返します

私は自分のプロジェクトでKVCを使用しています。

そして、私のクラスの1つで、私はプロパティを書きました:

そのプロパティにNSStringオブジェクトを入れたい:

そして、値を設定する前に、宛先のクラス名をテストしたいと思います。

その結果、xcodeはクラスが同じではないことを示します!

これはそれほど重要ではなく、__NSCFConstantStringはNSStringのプライベートサブクラスであることを読みました。

しかし、私の場合、オブジェクトを更新する前に、オブジェクトのすべてのプロパティを確認する必要があります。

そして、私は自分のコードに入れたくありません:

バーク!

誰かが同じ問題を抱えていますか?

あなたの助けをどうもありがとう!

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

xcode - Interface Builder のユーザー定義のランタイム属性が float を受け入れない?

float プロパティを持つ NSView サブクラスを作成しました。これを Interface Builder で設定したいと考えています。User Defined Runtime Attributes セクションで、適切な Type は Number のみです。しかし、10 進数を入力したい場合 (区切り文字として . または を使用)、最も近い整数に丸められます。これはバグですか、それとも意図的なものですか? Integer の代わりに float を定義するにはどうすればよいですか?

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

objective-c - NSArray内で一意のNSDictionaryキーを見つけるためのより洗練された方法はありますか?

目的:エレガントなコードを使用して、特定のNSDictionaryの一意のキーを含むNSArrayを取得する

現在機能しているソリューションのサンプルコード:

これは、必要なキーの配列を返します。

質問:これにアプローチするためのよりエレガントな方法はありますか?確かに、配列を反復処理することなくすべてのキーを取得できるKVCアプローチが必要ですか?Apple Developer Documentationを見てきましたが、解決策が見つかりません。何か案は?(パフォーマンスではなく、純粋にコードの優雅さを見てください)。

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

objective-c - iOSKVCDRYミューテーション

文字列のディクショナリをJSONフェッチからKVC準拠のNSManagedObjectにマップしようとしていますが、正常に使用できますsetValue: forKey:が、タイプをマップする方法がわかりません。

たとえば、日付をランダムな文字列に設定することはできませんが、Printing description of myDate: asdfsadf 機能しました。

私はいくつかの有用な答えを提供したhttps://stackoverflow.com/a/5345023/828859を見ました。私は入ってすべてのプロパティの検証を作成できます...しかし、すべての日付を検証し、日付があるたびに個別に出力値を設定する必要があるため、それはあまり乾燥していないようです。

使用する前にタイプごとに変更したいsetValue: forKey:のですが、プロパティタイプを区別する方法がわかりません。

私がやりたいこと:

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

iphone - コア データの取得: 関係数で並べ替え

その関係の 1 つで最小数のエンティティを取得しようとしています。このエンティティは Solution と呼ばれ、Game オブジェクトにリンクする gamesFeaturedIn と呼ばれる対多の関係があります。だから私はこれをやっています(RestKit便利なメソッドを使って):

これはエラーをスローします:

'KVC 集約を含むキーパスがありません。gamesFeaturedIn.@count' の処理に失敗しました

数年前に同様の質問を持ついくつかの投稿を見つけました。おそらく状況が変わっており、古い投稿では、すべてのオブジェクトをメモリにフェッチして手動で計算を実行せずにこれを行う方法について明確な答えが得られていません。誰?

編集: コア データ ストアは SQLite でサポートされているため、一時的なプロパティを使用して並べ替えることはできません。

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

objective-c - nキー全体でKVCを使用して最小値を見つける

Obj-C の KVC で再びスタックしました。

KVC を使用して、複数のキーの最小値を見つけたいと考えています。

次の配列を検討してください。

「a」、「b」、または「c」の最小値は、次の方法で簡単に見つけることができます。

私が達成したいのは、キーの NSSet または NSArray を取得し、それらのキーのプール全体で最小値を見つけることです。

ポインタに感謝します:)

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

objective-c - このオブジェクトはKVCに準拠していますか?

Xcodeでバインディングを使用する方法を理解しようとしています。私はこのクラスを持っています:

これはKVCに準拠していますか?私が見つけた例は、合成されたプロパティの時代以前のもののようです。

KVCに準拠していない場合、そのために何をする必要がありますか?

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

cocoa - NSArrayController の配置されたオブジェクトにバインドする方法

カスタム クラス ( MyClass) 配列をプログラムで配列コントローラー ( NSArrayController) にバインドし、その内容を別の配列 ( modelArray) にバインドしたいと考えています。MyClassのように、配列の内容を表示しますNSTableView

私の問題は、可変配列のメソッドが呼び出されるようにこのバインディングを作成する方法、つまりメソッドです

(1)この方法でバインドすると、上記のメソッドが呼び出されますが、コントローラーのコンテンツはmodelArray(明らかに)バインドされなくなります

(2) これらの方法でバインドすると、メソッドsetContent:とメソッドのみcontentが呼び出され、変更可能なメソッドは呼び出されません。setContent:また、これらのメソッド (および)を削除しようとしましたcontentが、例外が発生するだけですsetValue:forUndefinedKey:

また

配列コントローラーにバインドされているときに行が追加されるたびに、テーブルの配列全体が再設定されるとは思わないので、同じ種類のバインドが必要です。

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

objective-c - NSDictionaryからのキー/値ペアとしてインスタンス変数を初期化しますか?

NSObjectサブクラスのパブリックインターフェイスを次のように定義しています。

initWithDict:メソッドを実装して、次のように定義されたNSDictionaryを渡すことができるようにするためのトリックはありますか?

{"key1": "value1"、 "key2": "value2"、 "key3": "value3"}

そして、initメソッドは、関連するインスタンス変数を対応する「値」で設定できますか?

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

iphone - キーと値のコーディング @UnionOfObjects

単純な valueForKey: または valueForKeyPath: では実行できない @UnionOfObjects が提供するものを理解できません。

アップルのドキュメント:

@unionOfObjects 演算子は、演算子の右側のキー パスで指定されたプロパティ内の個別のオブジェクトを含む配列を返します。「@distinctUnionOfObjects」とは異なり、重複したオブジェクトは削除されません。次の例は、トランザクション内のトランザクションの受取人プロパティ値を返します。

結果の受取人の配列には、次の文字列が含まれます: Green Power、Green Power、Green Power、Car Loan、Car Loan、Car Loan、General Cable、General Cable、General Cable、Mortgage、Mortgage、Mortgage、Animal Hospital。

上記の例では、

同じ値の配列を返しますが、コードは少なくなります。私は何が欠けていますか?