为什么valueForKeyPath抛出NSInvalidArgumentException?

时间:2013-10-09 00:42:17

标签: objective-c core-data kvc

我正在调试其他人的代码,这就是我在不知道这段代码的作用的情况下到达目的地的方式。

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];

我注意到the official KVC guide在参考@distinctUnionOfObjects运算符时这样说:

  

如果任何叶对象为零,则此运算符引发异常。

那么什么是叶子对象参考我的具体例子?如何追踪哪条叶子是否为零?

0 个答案:

没有答案