我不知道这是如何可能的,但我有一个for循环不通过数组正确递增。什么可能导致for循环不增加,然后增加2?
基本上我有是:
for (AISMessage *report in disarray){
NSLog(@"Position of array = %ld\n", [aisArray indexOfObject:report]);
}
有更多的代码在循环,但没有什么奇怪的只是格式化的一些数据的对象,并将其输出到文件中。
这些线路的输出看起来是这样的:
阵列的位置= 0
...
Posiiton阵列= 78176
Posiiton阵列= 78177
的阵列的位置= 78178
Posiiton阵列= 78178
阵列的Posiiton = 78180
阵列的Posiiton = 78181
...
阵列= 490187
的Posiiton出于某种原因,报告在索引78178被读入两次,并且78179的报告被完全跳过。
有关可能导致此问题的任何想法?
我完全困惑。
在此先感谢,杰森
'indexOfObject:'方法通过测试每个项目与消息“isEqual:”是否相等来找到对象的索引。因此,两个项目不仅在它们是相同的对象时相等,而且当它们具有相同的内容时(也取决于“isEqual:”实现)。 – 2012-02-28 15:11:56
谢谢你们......我会研究这种可能性。 – 2012-02-28 15:36:34