Objective-c子类化给出了链接错误

时间:2012-07-15 19:21:34

标签: objective-c initialization subclass

我正在尝试将游戏移植到iOS,但我遇到了问题。我有一个名为CKSprite的类,使用以下方法:

- (id)initWithFile:(NSString *)fileName effect:(GLKBaseEffect *)effect 
{     
    if ((self = [super init])) 
    {
        //some stuff
    }
    return self;
}

然后我有一个名为CKPLayer的子类(除了它继承的内容之外,它目前没有其他方法或属性:

@property (strong) CKPlayer *player1;

但是当我尝试使用父方法初始化它时:

self.player1 = [[CKPlayer alloc] initWithFile:@"Images/parrot.png" effect:self.effect];

我收到此错误:

架构i386的未定义符号:   “_OBJC_CLASS _ $ _ CKPlayer”,引自:       CKViewController.o中的objc-class-ref ld:找不到架构i386的符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

这是我第一次尝试这样做,所以我可能做了些蠢事。

非常感谢任何帮助。

#import "CKSprite.h"

@interface CKPlayer : CKSprite


@end

1 个答案:

答案 0 :(得分:1)

链接器缺少类CKPlayer的实现。也许你只是忘了实现它,因为它“目前没有其他方法或属性”,在这种情况下只需添加一个看起来像的文件:

#import "CKPlayer.h"

@implementation CKPlayer
@end

和ld应该很开心