我有一个字符串创建和比较的问题,似乎丢失了它的内容。目前我有这个:
switch (creditPos)
{
case 0:
[creditCart.faceImage setImage:[NSString stringWithFormat:@"%@credits_face1.png", _director.platformPrefix]];
break;
case 1:
[creditCart.faceImage setImage:[NSString stringWithFormat:@"%@credits_face2.png", _director.platformPrefix]];
break;
case 2:
[creditCart.faceImage setImage:[NSString stringWithFormat:@"%@credits_face3.png", _director.platformPrefix]];
break;
case 3:
[creditCart.faceImage setImage:[NSString stringWithFormat:@"%@credits_face4.png", _director.platformPrefix]];
break;
case 4:
[creditCart.faceImage setImage:[NSString stringWithFormat:@"%@credits_face5.png", _director.platformPrefix]];
break;
default:
break;
}
faceImage是我创建的一个对象,在setImage的函数中我有。。。
- (void)setImage:(NSString *)inImageName {
NSLog(@"Before Break");
// By default set the scale to 1.0f and the filtering to GL_NEAREST
if(![imageName isEqualToString:inImageName])
{
NSLog(@"Hit");}
我遇到的问题是,当我使用NSString字符串WithFormat传入字符串时,它可能会工作5-8次,然后以某种方式出错,并将完全随机的东西发送给函数,如-36.657。
这怎么可能?参数中没有任何变化,因为_director.platformPrefix是在程序开始时设置的,从未更改。唯一改变的是creditPos用字符串进行选择以创建+传递给函数。不知怎的,在一些迭代之后,正在创建的字符串只是胡言乱语,试图将其与传入的最后一个字符串进行比较会导致代码崩溃,而不会返回任何错误。
帮助:(