我已将以下代码添加到我的项目中:
这些类适用于iOS中的游戏中心,如果我只是使用它们,它们允许编译项目。但是当我尝试将其子类化或为其创建一个类别时,它会显示很多关于GKAchievementDescription的错误。即使我只创建了一个子类或类别但没有使用它们,它也会发生。
为什么它不能正常工作,是否可以在不编辑此库的类的情况下解决此问题?
已更新
以下是使用此类的示例:
#import "GKAchievementHandler.h"
@interface GKAchievementHandler (Extension)
@end
#import "GKAchievementHandler+Extension.h"
@implementation GKAchievementHandler (Extension)
@end
之前的库中的代码在我的项目中没有在其他任何地方使用。错误文本示例:
/GKAchievementNotification-master/GKAchievementNotification.h:68:5: 未知类型名称'GKAchievementDescription';你的意思是 'GKAchievementNotification'?
答案 0 :(得分:0)
您需要导入GameKit
框架。
以下是对滥用许多术语来描述困难主题的毛茸茸的描述......
以前它不是必需的,因为你只是通过库使用框架,它已经用引用编译。因此,您正在使用“弱”引用来处理您正在做的任何事情。
既然您实际上是子类化,那么您真正尝试使用这些类,因此您需要一个完整的“强”定义来编译修改。
它与以下之间的区别相同:
@class XXX;
和
#import XXX.h;
以及他们每个人允许您使用XXX
。