Теперь с помощью Generics вы определяете, какой тип NSArray содержит.
Например:
NSMutableArray<GenericProduct *> *array = [NSMutableArray array];
То же самое можно сделать в Swift
var array = [GenericProduct]()
или более явно
var array = Array<GenericProduct>()
Теперь Swift будет строго следить за соблюдением этого проверку типов. Хотя в ObjC это просто руководство для человеческих разработчиков и не будет вызывать ошибки во время компиляции.
Очевидно, что есть еще опция массива C, которая @ futureelite7 упоминается.
Реальный пример мира, используя Apple's ObjC Runtime Library
int numberOfClasses = objc_getClassList(NULL, 0);
Class *classes = (__unsafe_unretained Class *)malloc(sizeof(Class) * numberOfClasses);
numberOfClasses = objc_getClassList(classes, numberOfClasses);
for (int i = 0; i < numberOfClasses; i++) {
Class class = classes[i];
//do something with it
}
Я согласен, спасибо так много .. – inforeqd