我有一个参数化的类,让我们称之为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/

10-09 16:33