2012-04-15 61 views
-3

所以我想找到一個NSString的是同裏一個NSArray查找的NSString一個NSArray的

對象所以我有這個迄今爲止

SPButton *currentBalloon = (SPButton *)[event target]; 

NSUInteger x =[letterArray indexOfObject:currentLetter]; 
NSUInteger y =[letterArray indexOfObject:currentBalloon.info]; 
if (y == x) { 
    // do the following code 
    NSLog(@"Equal!"); 
} else { 
    NSLog(@"Not Equal!"); 

} 

我保持崩潰在裏面indexOfObject行。任何人的上帝有什麼想法?

+2

我們可以多一點情況嗎?事實上,根據您正在嘗試執行的操作,您的代碼可能是錯誤的。例如,如果currentLetter和currentBalloon.info都不在NSArray中,那麼當你的代碼不是時,你的代碼會說它們是相等的。 – Alan 2012-04-15 16:18:20

+2

從控制檯發佈消息信息 – QED 2012-04-15 16:23:38

+0

currentLetter是什麼類型的對象,或者實際上它是一個對象?那會讓它崩潰... – SomaMan 2012-04-15 16:26:54

回答

0

好像你正在以一種非常漫長的方式討論這個問題,獲得數組中一個字母的索引(推測按字母順序排列)然後比較索引。爲什麼不只是比較兩個字母?

if ([currentLetter isEqualToString:currentBalloon.info]) ... 
+0

這個問題與if沒有關係,但我忘了保留currentLetter字符串,所以在我做了之後,我只使用了isEqualToString:工作 – JDanek 2012-04-15 20:47:09

0

==運算符比較對象指針。如果要比較值,請使用[y isEqualToString:x]

+0

x和y是NSUIntegers – Alan 2012-04-15 16:10:28

+0

哦,riiiight。因爲太快閱讀而感到羞恥。那麼問題是什麼? – QED 2012-04-15 16:11:51

+0

它在運行時會一直崩潰,它在indexofobjects上崩潰 – JDanek 2012-04-15 16:16:39