2016-08-11 8 views
1

私はArrayの数字を持っています。最高の値を見つけたいと思っています。次のように 私はこれをやっている:NSArray valueForKey:@ "@ max.self"?

NSNumber *test = [fuelConsumption valueForKey:@"@max.self"]; 

を私はファイル名を指定して実行をビルドするとき、私は次のようなエラーを提示しています:

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<__NSArrayM 0x7b26e8d0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key max.self.'

私が理解から、これは1つが、この値を探す方法です。 これが間違っている可能性のあるアイデアはありますか?

私はiOS9.xのためのプログラミングとXcode 7.3.1

答えて

0

を使用していますが、よりおよそCollection Operators読み取りリンゴdocumentationについてその

NSNumber *test = [fuelConsumption valueForKeyPath:@"@max.self"]; 

ためvalueForKeyPathを使用する必要があります。

1
あなたが valueForKey: NSStringを与えるとき、ので、あなたは例外を取得している

、それはobjectForKey:を起動すると、文字列が@で始まる場合には、例外を生成することがvalueForUndefinedKey:を呼び出すことが[super valueForKey:]を呼び出します。

ので、

NSNumber *test = [fuelConsumption valueForKeyPath:@"@max.self"]; 

kvc-collection-operatorsについてもっと読む、のようvalueForKeyPath:valueForKey:を変更します。