为什么下面的代码返回的不是 aNSDictionary
而是 a __NSDictionaryI
?
NSDictionary* dict = [NSDictionary dictionary];
Class c = [dict class];
NSLog(@"%@", c);
我有哪些选项可以检查对象是否是 的实例NSDictionary
?正如我发现的那样,我无法打电话[__NSDictionaryI class]
,因为它不可见。
[dict classForCoder]
返回NSDictionary
并且似乎是一个很好的解决方案,但是在调用某个自定义类的对象时它不会失败吗?检查对象是否是给定类的实例的最通用方法是什么?