Obj -c EXC_BAD_ECCESS错误

时间:2013-04-08 07:01:41

标签: objective-c

我在下面的第4行发生了一次奇怪的撞车事故。

{
...
int exp = [[resourceCompletionReward objectAtIndex:experienceD] integerValue];

int xx = mySprite.x;
int yy = mySprite.y;

[self setupRisingText:exp withX:xx withY:yy];
...
}

-(void)setupRisingText:(int)risingValue withX:xx withY:yy {
    ...
}

当它尝试运行setupRising Text方法时,它只会崩溃。虽然看不出任何错误?

2 个答案:

答案 0 :(得分:1)

我想知道,你的方法不应该像这样吗?

-(void)setupRisingText:(int)risingValue withX:(int)xx withY:(int)yy {
    //NSLog(@"%d",risingValue+xx+yy);
}

答案 1 :(得分:1)

你对xx中的yysetupRisingText:::做了什么,他们被视为id(类似于NSObject *,不完全相同但类似)

因此,访问和处理指向对象(任何对象,而不仅仅是NSObject的子类)的int变量而不是int变量。这是没有类型的任何参数的默认值。

使用

-(void)setupRisingText:(int)risingValue withX:(int)xx withY:(int)yy {
    ...
}

代替。

顺便说一句,如果您使用NSNumber,那么这里的问题会更少。