2011-08-12 50 views
5

好吧,所以我已经完全被这个编译器错误困扰了好几个小时,问题是我所做的所有Google搜索都说它应该按照我的方式工作!我正在为iPhone游戏开发编写一本书教程,而由于随机编译器错误,我陷入了第二章。CADisplayLink向前声明错误

注意:我目前正在运行和在了XCode 4.1与iOS 5测试版

这里测试的声明:

在头文件:

@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'是一个前向声明

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

任何帮助,非常感谢!

回答

12

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

+0

非常感谢! – Chad

3

您是否已经将QuartzCore框架添加到您的项目以及相关的导入到这个类中?

CADisplayLink来自该框架。