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