usage of isMemberOfClass; returning false

前端 未结 3 1181
生来不讨喜
生来不讨喜 2021-01-16 10:23

In the code below I thought the second condition would be true, but it is turning out as false. Am I missing something? Please help me understand.

NSArray *a         


        
3条回答
  •  攒了一身酷
    2021-01-16 11:20

    This is the correct behavior. Try inspecting the actual class for that object:

    NSArray *array = [[NSArray alloc] init];
    NSLog(@"%@", NSStringFromClass([array class]));
    

    The output you get is something like:

    2013-02-15 23:42:31.272 Project[91998:c07] __NSArrayI
    

    So the actual class is __NSArrayI (a private subclass of NSArray), not NSArray itself. Typically, isKindOfClass: provides more useful results.

提交回复
热议问题