Rya*_*yan 5 properties class objective-c strong-references
我对 Objective C 还很陌生,所以也许这真的很简单,但我构建了一个类,它将存储类引用等内容。这是我的 .h 文件中的内容:
@property (nonatomic, assign) Class *filterClass;
Run Code Online (Sandbox Code Playgroud)
我感到很糟糕的是,我无法将类对象分配给此类的实例,他们可以将它们添加到数组或变量中:
Filter *filter1 = [[Filter alloc] init];
filter1.title = @"Sepia";
filter1.filterClass = [GPUImageSepiaFilter class];
Run Code Online (Sandbox Code Playgroud)
我收到错误:
“ARC 不允许将 Objective-C 指针隐式转换为‘__unsafe_unretained Class *’”
似乎它希望 filterClass 属性强大,但这也会产生错误,因为据我了解,您无法将原始类型定义为强大的。显然,我可以将字符串存储为对类的引用并使用 -NSClassFromString,但是如果我可以仅传递类对象,那就太好了。因为我可以将它们放入数组中,而且看起来应该是可能的。如果我的做法完全错误,请告诉我。
财产申报必须是
@property (nonatomic, assign) Class filterClass;
Run Code Online (Sandbox Code Playgroud)
代替
@property (nonatomic, assign) Class *filterClass;
Run Code Online (Sandbox Code Playgroud)
请检查这个答案Objective-c - Class Keyword