之前我曾多次查看过这个问题并且我尝试了答案所说的但是当我运行Xcode的分析器时,它说同样的“消息表达式中的参数是一个未初始化的值”。 这是switch语句:
`
NSString *imageFile;
switch (randomCoinType) {
case 1:
imageFile = @"coin.1.png";
break;
case 2:
imageFile = @"coin.2.png";
break;
case 3:
case 4:
imageFile = @"coin.3.png";
break;
case 5:
case 6:
case 7:
case 8:
imageFile = @"coin.4.png";
break;
case 9:
imageFile = @"coin.5.png";
break;
case 0:
imageFile = @"coin.6.png";
break;
default:
break;
}
//argument in message is uninitialized here!
Coins *c = [Coins spriteWithFile:imageFile];
c.type = type;
c.position = position;
c.velocity = ccp(0,0);
[coins addObject:c];
[self addChild:c z:2];
}
`
答案 0 :(得分:1)
如果您的default
语句被调用,则imageFile
为nil
且spriteWithFile
不知道该怎么做。确保您处理nil
传递的default
语句,或将imagefile
设置为默认情况下可用的内容。