将`Class`对象存储到`NSMutableArray`的正确方法是什么?

Eon*_*nil 3 class objective-c nsmutablearray

类型Class不是Objective-C类型.所以将它存放到NSMutableArray外观需要特别小心.这样做的正确方法是什么?

use*_*008 13

类对象就像其他对象一样.您可以将它们绝对存储在NSMutableArray或与他们做的事情,你通常会使用对象做(如调用根类的方法NSObject,如descriptionperformSelector...等)请注意,类型Class是一个通用型的指针类对象,类似如何类型id是指向对象的指针的泛型类型.所以类型的值Class也可以作为一个传递id.

NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:[yourObject class]];
[array addObject:[anotherObject class]];

//Later in your code.

Class yourObject = [array objectAtIndex:0UL];
Run Code Online (Sandbox Code Playgroud)