辞書を使用してNSArrayから最大の値を取得するにはどうすればよいですか?
「age」、「name」などのキーを持つ辞書を含むNSArrayがあるとします。次に、最も古いレコードを取得したいとします。これはKVCの魔法で可能ですか?それとも、繰り返して「手動」の方法で実行する必要がありますか?
私はこれに似たもので試しました:
int max = [[numbers valueForKeyPath:@"@max.intValue"] intValue];
辞書を使用してNSArrayから最大の値を取得するにはどうすればよいですか?
「age」、「name」などのキーを持つ辞書を含むNSArrayがあるとします。次に、最も古いレコードを取得したいとします。これはKVCの魔法で可能ですか?それとも、繰り返して「手動」の方法で実行する必要がありますか?
私はこれに似たもので試しました:
int max = [[numbers valueForKeyPath:@"@max.intValue"] intValue];
「intValue」が辞書のキーでない限り、キーパスはあまり役に立ちません。
@"@max.age"
それがあなたがそれを得るために(辞書で)使用するべきである後の最大年齢であるならば。辞書の他のキーについても同じことが言えます。
[myDictionary valueForKeyPath:@"@max.age"];
numbers
が値の配列である場合、最大値を取得するためのキーパスとして使用できます@"@max.self"
。
[myArrayOfNumbers valueForKeyPath:@"@max.self"];
あなたはもうすぐそこにいます、あなたはあなたが最大値を望むあなたが望む正確なフィールドを指定する必要があるだけです:
NSInteger max = [[numbers valueForKeyPath:@"@max.age"] integerValue];
誰かがiOSとOSXの両方でこのコードを使用したい場合に備えて、私は自由にあなたint
のsをsに変更しました。NSInteger