EXC_BAD_ACCESS фатальная ошибка - PullRequest
0 голосов
/ 27 октября 2011

У меня есть этот код, который создает изображение:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
background = [[UIImageView alloc]initWithFrame:CGRectMake(150, 60, 180, 180)];
result = [[UIImageView alloc]initWithFrame:CGRectMake(150, 60, 180, 180)];
[background setImage:[UIImage imageNamed:[defaults objectForKey:@"colour"]]];
[self.view addSubview:background];
[self.view insertSubview:result aboveSubview:background];

Это в моем viewWillAppear.Когда я нажимаю кнопку, это происходит:

- (IBAction)oneToSix {
int rNumber = (arc4random() % 6) + 1;
[result setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@", rNumber]]];
}

Но это приводит к фатальной ошибке: Thread one: Program received signal: "EXC_BAD_ACCESS". в части setImage, когда я нажимаю кнопку.В чем проблема?Я новичок в цели C.

1 Ответ

4 голосов
/ 27 октября 2011

Я думаю, что проблема в строковом формате в NSString, вы должны изменить код на:

[result setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d", rNumber]]];

, поскольку rNumber является целым числом.

И вы должны освободить фон и результат, так как viewWillAppear будет вызываться каждый раз при появлении представления, что приведет к утечке памяти.

...