CADisplayLink前向声明错误

时间:2011-08-12 18:58:40

标签: iphone objective-c compiler-errors ios5 cadisplaylink

好的,所以我已经完全被这个编译器错误困住了几个小时,问题是我所做的所有谷歌搜索都说它应该按照我的方式工作!我正在关注iPhone游戏开发的书籍教程,由于随机的编译器错误,我在第二章陷入困境。

注意:我目前正在使用iOS 5测试版在XCode 4.1中运行和测试

这是宣言:

在头文件中:

@interface GameController : NSObject
{
    CADisplayLink *displayLink;
}

@end

在.m文件中

- (void)startGame {
    displayLink = [displayLinkWithTarget:self selector:@selector(update:)];  // THROWS ERROR
    [displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];  // THROWS ERROR
}

- (void)update:(CADisplayLink *)sender {
    // TODO: actually do something..
}

这两个都会引发错误:类消息的Receiver'CADisplayLink'是前向声明

但是,所有在线帖子都有完全相同的行。错误类型是“自动引用计数问题”。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:12)

您需要在源文件的顶部#import <QuartzCore/QuartzCore.h>,如果您还没有这样做,请链接QuartzCore框架。

答案 1 :(得分:3)

您是否已将QuartzCore框架添加到项目中并将相关导入添加到此类?

CADisplayLink来自该框架。