キー値コーディングを使用してコレクション演算子 (@min
など@max
) を使用すると、配列内の値の 1 つが である場合に例外が発生します。NSArrays
NSNull null
使用する前に、すべてのNSNull null
出現を削除する必要があります。valueForKeyPath
NSMutableArray *array = otherArray.mutableCopy;
[array removeObjectIdenticalTo:[NSNull null]];
NSNumber *minValue = [array valueForKeyPath:@"@min.self"];
NSNumber *maxValue = [array valueForKeyPath:@"@max.self"];
ただし、Apple のドキュメントによると、私のコードは削除せずに動作するはずNSNull null
です:
キーパスの右側の値が nil の場合は無視されます。
keyPath ステートメントを使用して、ランタイム例外を取得せずに、また事前に削除することなく、配列の最小値と最大値を取得するにはどうすればよいNSNull null
ですか?