为什么我一直收到关于moveObject的错误是一个未声明的标识符?

时间:2012-02-22 23:19:23

标签: iphone objective-c xcode

- (void)viewDidLoad
{
    moveObjectTimer = [NSTimer timerWithTimeInterval:0.1 target:self selector:@selector(moveObject) userInfo:nil repeats:YES]


-(void)moveObject 

    image.center = CGPointMake(image.center.x, image.center.y +5);
}

3 个答案:

答案 0 :(得分:1)

如果未在.h文件中声明moveObject(或在viewDidLoad之前的接口块中声明),则编译器无法在此处了解它。

然后将其添加到.h文件中。

您的另一个选择是将moveObject方法(实现)放在viewDidLoad方法之上。如果您不希望.h文件显示moveObject,这可能是首选,但如果您愿意,也可以在.m文件中使用额外的@interface块。

答案 1 :(得分:1)

你缺少几个花括号。

- (void)viewDidLoad
{
    moveObjectTimer = [NSTimer timerWithTimeInterval:0.1 target:self selector:@selector(moveObject) userInfo:nil repeats:YES]
}

-(void)moveObject 
{
    image.center = CGPointMake(image.center.x, image.center.y +5);
}

答案 2 :(得分:0)

看起来您需要在头文件中声明方法,因为问题中的语法错误不在原始源中。

在.h文件中:

- (void)moveObject;