While-Loop工作但不是if语句?

时间:2010-09-28 22:54:22

标签: iphone arrays xcode if-statement while-loop

我的代码中有while循环。循环似乎工作正常,因为我在控制台中打印了i++。但出于某种原因,它只是第一次检查我的if语句。我只能在名为NSMutableArray的{​​{1}}中添加一个标题。我在这个循环中有很多数组,所以它可能会让人感到困惑。我会尽力解释。

以下是我要做的事情: 循环遍历数组的长度(topicArray)。如果数组的(topicArray)与其他数组(anotherArray)的第一个对象相同,则将具有与topicArray相同的索引(tit​​leArray)的对象添加到新的MutableArray(sectionZeroTitleArray)。

我确定我做了一些愚蠢的事,也许那些一整天都没有盯着这个的人可以解决我的问题?拜托,谢谢你。

sectionZeroTitleArray

2 个答案:

答案 0 :(得分:5)

使用==时,您正在检查指针相等。你确定你要这么做吗?你期待的是什么类型?如果是NSString,请使用isEqualToString:,否则使用NSObject的{​​{1}}方法:

如果预期类型为isEqual:

NSString

否则,您应该这样做:

if([[topicArray objectAtIndex:i] isEqualToString:[anotherArray objectAtIndex:0]]) {
   //...
}

答案 1 :(得分:1)

是的,你在比较指针而不是价值。查看NSString的文档,特别是用于比较字符串的isEqualToString:方法。