Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c EXC\u错误\u访问致命错误_Objective C_Ios_Xcode_Exc Bad Access - Fatal编程技术网

Objective c EXC\u错误\u访问致命错误

Objective c EXC\u错误\u访问致命错误,objective-c,ios,xcode,exc-bad-access,Objective C,Ios,Xcode,Exc Bad Access,我得到了创建图像的代码: NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; background = [[UIImageView alloc]initWithFrame:CGRectMake(150, 60, 180, 180)]; result = [[UIImageView alloc]initWithFrame:CGRectMake(150, 60, 180, 180)]; [background setIm

我得到了创建图像的代码:

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];
这将出现在我的
视图中。当我按下按钮时,会发生以下情况:

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

但它得到了这个致命错误:
线程一:当我按下按钮时,程序在
setImage
部分收到信号:“EXC\u BAD\u ACCESS”。
。有什么问题?我不熟悉Objective C。

我认为问题在于NSString中的字符串格式,您应该将代码更改为:

[result setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d", rNumber]]];
因为rNumber是一个int


并且您应该释放背景和结果,因为每次显示视图时都会调用ViewWillDisplay,因此会导致内存泄漏。

我认为问题在于NSString中的字符串格式,您应该将代码更改为:

[result setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d", rNumber]]];
因为rNumber是一个int


您应该释放背景和结果,因为每次显示视图时都会调用ViewWillEmbeen,因此会导致内存泄漏。

谢谢您的回答。我有带ARC(自动参考计数)的Xcode 4.2。我还需要释放它们吗?当使用ARC时,它会在
视图上释放吗?它会消失吗?是的,会的,请尝试阅读这里,谢谢你的回答。我有带ARC(自动参考计数)的Xcode 4.2。我还需要释放它们吗?当使用ARC时,它会在
视图上释放吗?它会消失吗?是的,请尝试在此处阅读