我对Objective C很新,所以也许这很简单,但我构建了一个类,它将存储一个类引用。这就是我在.h文件中的内容:
@property (nonatomic, assign) Class *filterClass;
我感到很糟糕的是,我无法将类对象分配给此类的实例,我可以将它们添加到数组或变量中:
Filter *filter1 = [[Filter alloc] init];
filter1.title = @"Sepia";
filter1.filterClass = [GPUImageSepiaFilter class];
我收到错误:
“将Objective-C指针隐式转换为'__unsafe_unretained ARC不允许使用Class *'
似乎它希望filterClass属性很强但是也给出了错误,因为据我所知,你不能将原始类型定义为强。显然我可以将字符串存储为类的引用并使用-NSClassFromString,但是如果我可以只传递类对象,那将会很好。因为我可以把它们放在数组中,看起来它应该是可能的。如果我完全错了,请告诉我。
答案 0 :(得分:4)
属性声明必须是
@property (nonatomic, assign) Class filterClass;
而不是
@property (nonatomic, assign) Class *filterClass;