【发布时间】:2014-03-09 00:23:58
【问题描述】:
我知道如何通过在对象上使用 isKindOfClass 来查找数组中每个对象的类。就我而言,该数组将包含同一类的所有对象,我正在尝试查找类名。下面的描述将有助于更好地理解这个问题:
我有 2 个自定义类和 2 个包含这些类的对象的数组:
类名:ClassA
保存ClassA对象的数组:NSArray *arrayA = [NSArray arrayWithObjects:a1, a2, a3, nil];
类名:ClassB
存放 ClassB 对象的数组:NSArray *arrayB = [NSArray arrayWithObjects:b1, b2, b3, nil];
我的控制器 ControllerA 有一个接受 NSArray 作为输入的方法。
@implementation ControllerA
- (void)someMthod:(NSArray *)myArrayOfObjects
{
// Print the custom class name whose objects are present inside the array.
}
@end
因此,当我使用 arrayA 作为输入数组调用此方法时,它应该打印 ClassA 而无需遍历数组中的所有对象。当我通过传递 arrayB 作为输入来调用它时,它应该打印 ClassB 而不遍历数组中的所有对象。
数组中的所有对象都属于 ClassA 或 ClassB。它不会包含来自两个类的对象的组合,例如 [NSArray arrayWithObjects:a1, a2, b1, b2, nil];
有没有一种直接的方法来实现我正在寻找的东西,而不是遍历数组的每个对象并在其上使用 isKindOfClass 来查找它的类?
【问题讨论】:
标签: ios objective-c nsarray