这工作:为什么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