2011-12-26 80 views
0

我試圖將字符串與數字組合起來加載動態紋理。我發現如果我使用一個NSString並分配一個靜態字符串或者將該字符串與一個數字組合在一起,行爲就會不同。Objective-C:常量字符串與動態字符串

// version 1 
NSString* textureName; 
textureName = @"texture_1"; 

// version 2 
NSString* textureName; 
textureName = [NSString stringWithFormat:@"texture_%i ",index]; 

當我嘗試從我的字典,textureName得到一個項目作爲我的鑰匙,我得到的項目與我的代碼的第一個版本,但我不與第二版本得到它。

調試器在版本1中顯示類型「_ NSCFConstantString」,在版本2中顯示類型「 _NSCFString」。

如何使用動態字符串從我的字典中獲取項目?

+1

你可以在你定義'index'的地方加入代碼,並且你可以在其中嘗試檢索該值嗎? – 2011-12-26 19:49:11

+0

請顯示您如何從字典中檢索數據。另外,什麼是'索引',在哪裏,它是如何聲明的? – JAM 2011-12-26 19:49:13

回答

3

問題是你的第二個字符串在最後有一個空格。 @"texture_1"不被認爲與@"texture_1 "相同。

+0

謝謝,顯然我是盲人...... :-)我以爲我瘋了。 – Skuami 2011-12-26 21:49:33

2

這也許就這麼簡單俯瞰尾隨空白

看在第2版的最後一個字符上有空間到底。刪除它,它應該工作。

// version 2 
NSString* textureName; 
textureName = [NSString stringWithFormat:@"texture_%i ",index]; 
+0

謝謝,顯然我是盲人...... :-) – Skuami 2011-12-26 21:49:48