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