2011-10-02 65 views
0

我有這樣的:將objectAtIndex設置爲NSString中的整數?

 if ([[currentPlayer rankicon] isEqualToString:@"0"]) { 
    self.casteImage.image = [casteImages objectAtIndex:0]; 
    } 

其中一期工程。但是,我有16個圖像要分配,並且由於NSString和索引ID是相同的,所以我想找到一個更有效的方法來完成此操作。我也試過:

 NSInteger i = [[currentPlayer rankicon] integerValue]; 
    self.casteImage.image = [casteImages objectAtIndex:[i]]; 

但是這並不奏效。當然,可能是我的代碼中其他地方的錯誤(或者上面的一些語法錯誤),但是想知道我是否在任何地方靠近正確的軌道。

+0

當你需要一個整數時,爲什麼你的rankicon是一個字符串?爲什麼不改變它的類型爲NSInteger,並節省自己的所有麻煩?另外,如果你需要將整數轉換爲字符串,而不是將字符串轉換爲整數(儘管在這種情況下你不會注意到性能「提升」),將整數轉換成字符串效率更高。 – inkredibl

+0

字符串通過XMLParser作爲字符串來自XML提要。讀入時是否可以將其類型更改爲NSInteger? (這是我第一次嘗試應用程序,還有很多我還不知道) – spongefile

+1

解析時我仍然會將它轉換爲整數,而不是在使用解析的數據時。首先,在解析它時會捕獲無效的xml,這將更容易進行調試,並且它還會在以後的代碼中爲您提供所需的數據,而無需一直進行轉換,並將其所獲知識抽象出來從。 – inkredibl

回答

2

在第二行刪除[]i

+0

好吧,我現在覺得自己像個白癡:)這個網站上愚蠢的問題上的協議是什麼?我可以接受你的回答,然後刪除它嗎? – spongefile

+0

無論你喜歡什麼。 :) – tobiasbayer

+0

不會讓我刪除它,只是將其標記爲適度。不會打擾MODS - 再次抱歉,不能相信我錯過了。 – spongefile