我正在调试别人的代码,这就是我在不知道这段代码做什么的情况下到达这一点的方式。
valueForKeyPath 抛出一个 NSInvalidArgumentException 并在给定以下代码的情况下使我的应用程序崩溃:
NSMutableSet *cars = self.allCars; //assume allCars is already initialized and contains at least one car.
NSString *key = @"make";
NSString *distinctUnionOfObjects = [NSString stringWithFormat:@"@distinctUnionOfObjects.%@",key];
NSArray *makeArray = [cars valueForKeyPath:distinctUnionOfObjects];
我注意到官方的 KVC 指南在参考 @distinctUnionOfObjects 运算符时这样说:
如果任何叶对象为 nil,则此运算符引发异常。
那么参考我的具体示例的叶子对象是什么?我如何追踪哪片叶子具体是零?