我不知道這是如何可能的,但我有一個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