gpt4 book ai didi

objective-c - 在 Objective-C 中将类对象设置为另一个类的属性

转载 作者:搜寻专家 更新时间:2023-10-30 19:41:23 24 4
gpt4 key购买 nike

我是 Objective C 的新手,所以也许这真的很简单,但我构建了一个类,该类将存储类引用等内容。这是我的 .h 文件中的内容:

@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"

它似乎希望 filterClass 属性是强的,但这也会产生错误,因为据我了解,您不能将原始类型定义为强的。显然我可以将字符串存储为对类的引用并使用 -NSClassFromString,但是如果我可以传递类对象就更好了。因为我可以把它们放在数组中,所以看起来应该是可能的。如果我的做法完全错误,请告诉我。

最佳答案

属性声明必须是

@property (nonatomic, assign) Class filterClass;

代替

@property (nonatomic, assign) Class *filterClass;

请检查这个答案Objective-c - Class Keyword

关于objective-c - 在 Objective-C 中将类对象设置为另一个类的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21280665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com