我有一個字符串創建和比較似乎失去它的內容的問題。目前,我有這樣的:失去我的字符串
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 stringWithFormat,它可能會工作5-8次,然後以某種方式調試併發送一些完全隨機的東西,而不是像-36.657這樣的函數。
這怎麼可能?參數中沒有任何內容正在改變,因爲_director.platformPrefix在程序的開始處設置並且從未改變過。唯一改變的是creditPos用字符串選擇來創建+傳遞給函數。以某種方式,創建的字符串在一些迭代之後只是亂碼,並試圖將它與傳入的最後一個字符串進行比較,導致代碼崩潰而不會返回任何錯誤。
幫助:(
Psst。你也可以把它寫成一行代碼:'[creditCart.faceImage setImage:[NSString stringWithFormat:@「%@ credits_face%d.png」,_director.platformPrefix,(creditPos + 1)]];' – 2010-10-13 16:01:56