Я довольно новичок в Objective C, поэтому, возможно, это действительно просто, но я построил класс, который будет хранить среди прочего ссылку на класс. Это то, что у меня в файле .h:Установка объекта класса как свойства другого класса в Objective-C
@property (nonatomic, assign) Class *filterClass;
Где я получаю сосать, что я не в состоянии присвоить объекты класса к экземпляру этого класса они, как я могу добавить их в массивы или переменные :
Filter *filter1 = [[Filter alloc] init];
filter1.title = @"Sepia";
filter1.filterClass = [GPUImageSepiaFilter class];
Я получаю сообщение об ошибке:
"implicit Conversion of an Objective-C pointer to '__unsafe_unretained Class *' is disallowed with ARC"
Похоже, что он хочет, чтобы свойство Фильтровального быть сильным, но это также дает и ошибку, потому что, как я понимаю, вы не можете определить примитив типы как сильный. Очевидно, я мог бы просто хранить строки в качестве ссылок на классы и использовать -NSClassFromString, однако было бы неплохо, если бы я мог просто передать объекты класса. Поскольку я могу помещать их в массивы, и кажется, что это должно быть возможно. Дайте мне знать, если я буду делать это совершенно неправильно.
'Class' тип, который может содержать указатель на объект класса. Как и другие указатели на объекты, он может быть сильным или слабым. – newacct