5

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

注意:我目前正在使用 iOS 5 beta 在 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' for class message is a forward declaration

但是网上所有的帖子都有完全一样的行。错误类型是“自动引用计数问题”。

任何帮助是极大的赞赏!

4

2 回答 2

12

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

于 2011-08-12T19:01:10.377 回答
3

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

CADisplayLink来自那个框架。

于 2011-08-12T19:00:43.290 回答