我是Xcode / objective-c洞的新手,所以我会以一种我能理解你的方式来回答我的问题:) 我的问题是:我正在尝试创建一个带拾取器和按钮的老虎机(当然要旋转轮子;))所以我实现了5个图像(苹果,皇冠,樱桃,柠檬,七,香蕉)但是在我启动应用程序时,我收到此错误:
由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [UIImage initWithImage:]:无法识别的选择器发送到实例0x4b649b0'
我的代码如下所示:
- (void)viewDidLoad {
UIImage *apple = [UIImage imageNamed:@"apple.png"];
UIImage *banana = [UIImage imageNamed:@"banana.png"];
UIImage *cherry = [UIImage imageNamed:@"cherry.png"];
UIImage *crown = [UIImage imageNamed:@"crown.png"];
UIImage *lemon = [UIImage imageNamed:@"lemon.png"];
UIImage *seven = [UIImage imageNamed:@"seven.png"];
for (int i = 1; i <= 5; i++) {
UIImageView *appleView = [[UIImage alloc] initWithImage:apple];
UIImageView *bananaView = [[UIImage alloc] initWithImage:banana];
UIImageView *cherryView = [[UIImage alloc] initWithImage:cherry];
UIImageView *crownView = [[UIImage alloc] initWithImage:crown];
UIImageView *lemonView = [[UIImage alloc] initWithImage:lemon];
UIImageView *sevenView = [[UIImage alloc] initWithImage:seven];
NSArray *imageViewArray = [[NSArray alloc] initWithObjects:appleView, bananaView, cherryView, crownView, lemonView, sevenView, nil];
NSString *fieldName = [[NSString alloc] initWithFormat:@"column%d", i];
[self setValue: imageViewArray forKey:fieldName];
[fieldName release];
[imageViewArray release];
[appleView release];
[bananaView release];
[cherryView release];
[crownView release];
[lemonView release];
[sevenView release];
我一直在寻找打字错误很长一段时间,但没有发现任何问题。如果有人能给我一个提示,那将是非常好的。如果支持的代码不够,请随时提出更多要求。(只是复制了发生错误的部分)抱歉我的英文不好但不是我的母语:)
/ edit:我应该说,原来的错误是:SIGABRT,但看起来这个错误似乎意味着很多没有任何上下文:)
答案 0 :(得分:2)
您需要使用
创建图片视图[[UIImageView alloc] initWithImage: ...]
不是
[[UIImage alloc] initWithImage: ...]