2

次のコードを使用して最大値を取得します。

 NSArray *allValues = @[ [NSNumber numberWithInt:20],
                        [NSNumber numberWithInt:36],
                        [NSNumber numberWithInt:84],
                        [NSNumber numberWithInt:11],
                        [NSNumber numberWithInt:28]];

int max = [[allValues valueForKeyPath:@"@max.intValue"] intValue];
int min = [[allValues valueForKeyPath:@"@min.intValue"] intValue];

しかし、質問があります。KeyPathリンク@max.intValueまたは@min.intValueがどこにあるかをどのドキュメントで知ることができますか。キーパスを知っている場合は、他の効果を実行できます。

4

1 に答える 1

4

この情報は、Key-Valueコーディングプログラミングガイドにあります。

@max

@max演算子は、演算子の右側にあるキーパスで指定されたプロパティの値を比較し、見つかった最大値を返します。最大値は、指定されたキーパスにあるオブジェクトのcompare:メソッドを使用して決定されます。比較されるプロパティオブジェクトは、相互の比較をサポートする必要があります。キーパスの右側の値がnilの場合、無視されます。

@min

@min演算子は、演算子の右側にあるキーパスで指定されたプロパティの値を比較し、見つかった最小値を返します。最小値は、指定されたキーパスにあるオブジェクトのcompare:メソッドを使用して決定されます。比較されるプロパティオブジェクトは、相互の比較をサポートする必要があります。キーパスの右側の値がnilの場合、無視されます。

于 2013-03-25T09:21:31.280 に答える