我有一个参数化类,我们称它为ParameterizedClass
.当我使用前向声明 ( @class ParameterizedClass;
) 在头文件中使用它时,编译器输出此错误 Type arguments cannot be applied to non-parameterized class 'ParameterizedClass'
如果我声明一个属性ParameterizedClass<Type>
.
如何在不导入类头的情况下使用参数同时仍然使用前向声明?
最佳答案
如果我没理解错的话,您正在尝试声明 ParameterizedClass<Type>
类型的属性在您的 header 中,编译器会提示,因为所有唯一的声明 ParameterizedClass
它知道是非参数化的(即 @class ParameterizedClass;
。)
我建议您将前向声明更改为 @class ParameterizedClass<T>;
然后您就可以申报您的属性(property):
@property (strong, nonatomic) ParameterizedClass<Type *> * property;
关于ios - 前向声明和参数化类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52323077/