我是目标C的新手,所以也许这真的很简单,但是我构建了一个类,可以存储类参考。这就是我的.h文件中的内容:
@property (nonatomic, assign) Class *filterClass;
我很烂的地方是我无法将类对象分配给此类的实例,它们可以将它们添加到数组或变量中:
Filter *filter1 = [[Filter alloc] init];
filter1.title = @"Sepia";
filter1.filterClass = [GPUImageSepiaFilter class];
我遇到了一个错误:
" objective-c指针的隐性转换为'__unsafe_unretain 类 *'不允许使用弧"
似乎希望FilterClass属性很强,但这也会给出和错误,因为据我所知,您不能将原始类型定义为强。显然,我可以将字符串作为对类的引用并使用-nsclassfromstring,但是如果我只能将类对象传递到周围的对象,那就太好了。由于我可以将它们放在阵列中,而且似乎应该有可能。让我知道我是否要完全错误。
属性声明必须为
@property (nonatomic, assign) Class filterClass;
而不是
@property (nonatomic, assign) Class *filterClass;
请检查此答案Objective -C-类关键字