在使用键值编码时使用集合运算符(例如@min,@max)时,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之前不必删除?