ios - 前向声明和参数化类

标签 ios objective-c

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

相关文章:

ios - 将NSArray转换为NSData iOS Objective-C

iphone - Xcode 项目和 iTunes Connect 之间的 iOS 最低操作系统要求不同

ios - 如何让 YapDatabase 和 Mantle 很好地处理序列化

iphone - 如何简化 UIScreen 宽度?

ios - 如何快速将数组映射到字典中的键?

ios - Xcode 6.0 中头文件被错误更改并卡在模拟器上运行

ios - 大导航栏标题上方的字幕

iphone - ASIHttpRequest 替换和图像缓存

objective-c - UItableview 中的选项卡栏

ios - 在第 4 代 iPad 上测试时 Apple Mach O-Linker 出错