問題タブ [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 に答える
344 参照

objective-c - NSArray にネストされた NSDictionarys から特定のデータ フィールドを取得する

次のようなネストされた辞書データを含む配列があります。

foo各辞書の を選びたい。次のような希望の結果:

を使用してみましたが、NSDictionary で for カテゴリを[myArray valueForKey @"@customFilterForFoo"]実装しましたが、最終的にはcustomFilterForFoo*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<__NSCFArray 0x6b81a10> valueForUndefinedKey:]: this class is not key value coding-compliant for the key customFilterForFoo.'

どうすればこのようなことができますか?ありがとう!

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

iphone - NSUserDefaults が NSDictionary を保存しようとしないのはなぜですか?

私は KVC を使用して をシリアル化し、NSObjectそれを に保存しようとしています。NSUserDefaultsAttempt to insert non-property valueNSDictionary

問題のオブジェクト のプロパティは次のMyClassとおりです。

MyClass を保存するときは、次の場所で行われます。

次の出力が生成されます。

ご覧のとおり、 内のすべてのオブジェクトdictはプロパティ リストの値であり、そのすべてのキーはNSString*です。これを実行するために欠けているトリビアは何ですか? または、あきらめて使用する必要がありますwriteToFileか?

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

c# - Apple の Key Value Coding - 誰かが C# 開発者に、なぜこれが必要なのか、それが何をするのか説明できますか?

Monotouch による iOS 開発に切り替える前に、ObjectiveC を少しいじりました。それ以来、「キーバリューコーディング」(KVC)ということが頭に浮かびました。それが何に役立つのか、その背後にある魔法が何であるかを理解したことがありません.

私の理解では、.NET のような名前と値の単なるコレクションです。設定するNameValueCollection代わりに、. 偉大な。だから何?これは私には簡単すぎるように見えるので、そうではないはずです。anObject.Address = "An address Value"anObject.Properties["Address"] = "An address value"

それとも、.NET にはリフレクションがあるため、Key-Value-Coding などは必要ないのでしょうか? " " の型を取得し、anObjectリフレクションを使用してそのすべてのプロパティをループし、"Address" という名前のプロパティを探してから、リフレクションを使用して値を設定します。それはおそらくKVCの類推ですか?

ObjC と C#/.NET のプロで、その利点と、それが .NET にどのように変換されるかを説明してくれる人がいることを願っています。Apple のドキュメントだけを指ささないでください。私はそれをすべて知っています。KVC を知らないことで、これまでのコーディング ライフに何か欠けているものがあるかどうかを調べようとしています。または、ObjC を使用している場合に KVC に変換されることを認識せずに、.NET で同様のものを使用していたのでしょうか?

0 投票する
0 に答える
320 参照

cocoa - Cocoa、「To-Many」関係をまたいでバインド

基本的に 3 つのエンティティであるモデルがあります: メーカー <---->> モデル <---->> 車

製造元エンティティにはプロパティ 'name' があります

モデル エンティティにはプロパティ 'name' があります

Car エンティティには、「登録」と「マイレージ」のプロパティがあります。

車の登録、走行距離、モデル、メーカーを各行に表示するテーブルビューがあり、次のように簡単にバインドできます。

メーカーと、すべての車の総走行距離を表示する別のテーブル ビューがあります。

したがって、私がバインドした最初の列は次のとおりです。

私の問題は、総走行距離をバインドしようとすると発生します。私はそれにアクセスしようとしました:

しかし、これはうまくいかないようです:(私はこれを完全に間違った方法で行っていますか?または、Manufacturer、Model、またはCarクラスにいくつかのメソッドを追加する必要がありますか?

どうもありがとう

編集:詳細

別のテーブルを不思議なことにバインドします

動作しますが、ログにはまだエラーがスローされます: [<_NSFaultingMutableSet 0x1dbbb0> addObserver:forKeyPath:options:context:] はサポートされていません。キーパス: @sum.milage

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

iphone - 文字列名で UINavigationController にアクセスするにはどうすればよいですか

私のアプリにはnavControllerがあります

そして実行時に私は NSString *propertyName = @"navController"; を持っています。

私はそれが UINavigationController のタイプであることを知っています

文字列名で UINavigationController にアクセスするにはどうすればよいですか

https://developer.apple.com/library/ios/#documentation/Cocoa/Reference/ObjCRuntimeRef/Reference/reference.htmlを使用する必要があるかもしれません

0 投票する
0 に答える
61 参照

formatting - KVC で数値を小数点以下 2 桁にフォーマットしますか?

以下のコードは、スライダー出力をウィンドウ内のラベルに接続します。接続は機能します。しかし、数値表示をフォーマットできませんでした。たとえば、小数点以下 2 桁だけを表示したいとします。どこにも例が見つかりません。ありがとう

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

ios - Core Dataのカスタムアクセサメソッド、なぜKVOを使用するのですか?

一般的なカスタムアクセサメソッドは、次のように記述できます。

の意味は明らかですsetPrimitiveName。これにより、KVCなしで「raw」変数にアクセスし(アクセサー内の実行ループを防止)、渡された値を設定できます。同じ観察結果をゲッターに適用できます。

setPrimitiveNameドキュメントから、変更通知メソッドwillChangeValueForKeyと対応するメソッドが無効になっていることは明らかです。

今私の質問は次のとおりです:なぜあなたはそのメソッドを内部にラップする必要があるのwillChangeValueForKey:ですdidChangeValueForKey:か?

そこでコアデータプログラミングを読むと、次のように書かれています。

NSManagedObjectは、モデル化されたプロパティの自動Key-Value監視(KVO)変更通知を無効にし、プリミティブアクセサーメソッドはアクセスおよび変更通知メソッドを呼び出しません。モデル化されていないプロパティの場合、Mac OSXv10.4ではCoreDataは自動KVOも無効にします。Mac OS X v10.5以降では、CoreDataはNSObjectの動作を採用しています。

キー(アクセサーまたはインスタンス変数)にアクセスする準備ができていることを通知する必要があるのはなぜですか?誰に通知されますか?

私の質問が明確であることを願っています。前もって感謝します。

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

iphone - Create an NSManagedObject with the contents of a NSMutableDictionary (may have NSCFString in place of number)

I want to create an NSManagedObject with the contents of a NSMutableDictionary and Visa Versa. KVC doesn't work properly in NSManagedObject so i cant use

here managedObject has a property "NSNumber *testKey"

I have response from a webservice that i have to store in sqlite DB in my application, for that perpose i am using core data and so i have entity with name "Address" with attributes like city, state etc (all strings with zip code as int).

I have a class to parse the JSON response to get a dictionary but i have no idea how to make a managed object from that dictionary and save into my sqlite db.

Thanks in advance,

Yogesh

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

iphone - valueForKeyPath からの戻り型:?

これはおそらく私の側のパイロット エラーですが、なぜこれが int を返さないのか少し混乱しています (キー パスによって識別されるプロパティの型であるため)。valueForKeyPath: は代わりにオブジェクトを返しますか? 誰でも説明できますか?

.

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

objective-c - 単純なコレクション演算子を理解する

Apple の Key Value Programming Guide を読んでいます。トピック「単純なコレクション演算子」で、私は次のように読みました。

次の例は、トランザクション内のオブジェクトのトランザクション金額の平均値を返します。

上記を使用できるプログラムを作成しようとしています。以下は、そのプログラムのファイルです。上記がうまくいかない理由を理解できません。

トランザクション.h

Transaction.m #import "Transaction.h"

TransactionDataBase.h

TransactionDataBase.m