2011-11-25 90 views
0

,我真搞任何幫助,將不勝感激的NSString stringwithstring和stringwithformat差異

那麼究竟是什麼下面

int myInteger = 1; 
myString = [NSString stringWithFormat:@"anotesound%i",myInteger]; 

和差異這

myString = [NSString stringWithString:@"anotesound1"]; 

我想都應該是相同的但開放不接受那些是平等的,它適用於stringwithstring但不適用於stringwithformat

+0

它不起作用?編譯器錯誤或崩潰或你的結果字符串是什麼樣子?你有沒有試過'myString = [NSString stringWithFormat:@「anotesound%d」,myInteger];'? –

+0

那些會輸出同樣的東西「anotesound1」。不確定你的問題是什麼。 – ColdLogic

+0

NSLog(@「%@」,myString);給出了相同的輸出,即我將頭撞到牆上2個小時。另外我嘗試與%d不工作......我有一個類聲音管理器,並在該行上的該類NSNumber * numVal = [soundLibrary objectForKey:aSoundKey];出現EXC_BAD_ACCESS錯誤。謝謝你的回答 – frenz

回答

0

結果是一樣的,錯誤在別處。

不同之處在於myInteger是不同實例化的常量或填充更改。如果它始終是相同的只是使用:

myString = @"anotesound1";

沒有必要爲stringWithString方法時,該字符串是一個常數。

+0

反正謝謝你仍然不知道。 – frenz

+0

字符串不是常量,它由開關1或2更改 – frenz

+1

運行分析器並打開NSZombies。代碼的不同之處在於它只是改變時序足以導致錯誤出現。 – zaph

相關問題