這工作:爲什麼m_array.count在for循環中作爲條件使用時失敗?
int i, start, end;
start = m_cardArr.count - 1;
end = m_cardArr.count - 4;
NSLog(@"%i %i", m_cardArr.count - 1, m_cardArr.count - 4);
for(i = start; i > end; i--)
{
LabyrinthCard* labyCard = (LabyrinthCard*)[m_cardArr objectAtIndex:i];
if(labyCard.m_type != cardType || labyCard.m_usedForDoor)
{
return false;
}
}
這不進入for循環都:
int i;
NSLog(@"%i %i", m_cardArr.count - 1, m_cardArr.count - 4);
for(i = m_cardArr.count - 1; i > m_cardArr.count - 4; i--)
{
LabyrinthCard* labyCard = (LabyrinthCard*)[m_cardArr objectAtIndex:i];
if(labyCard.m_type != cardType || labyCard.m_usedForDoor)
{
return false;
}
}
我不改變內部的數組的大小,因此,使用m_cardArr.count作爲條件應工作。在這兩種情況下,當數組中有3個元素時,NSLog打印2,-1。
我找不到我在這裏失蹤的東西。
我對此很難搜索,認爲它已經被回答。對不起,我沒有找到它。 – Almo