Ios 仅当条件匹配时才增加for循环的计数

Ios 仅当条件匹配时才增加for循环的计数,ios,swift,for-loop,Ios,Swift,For Loop,我不熟悉编码,我在我的项目中使用for循环,我想要的是增加for循环的计数,只有当我的条件匹配时,否则for循环应该从旧索引开始。 请帮忙 if let countEvent = arrEvent?.count{ for i in 0..<countEvent{ let strStartDate = arrEvent![i]["start_date"].string let dateStart = dateFormatte

我不熟悉编码,我在我的项目中使用for循环,我想要的是增加for循环的计数,只有当我的条件匹配时,否则for循环应该从旧索引开始。 请帮忙

if let countEvent = arrEvent?.count{
        for  i in 0..<countEvent{
            let strStartDate = arrEvent![i]["start_date"].string
            let  dateStart = dateFormatter .date(from: strStartDate!)

            let strEndDate = arrEvent![i]["end_date"].string
            let dateEnd = dateFormatter .date(from: strEndDate!)


            if strCurrentDate == strStartDate{
               //increase count of for loop now
            }else{
               //do not want to increase count of for loop now
            }
        }
    }
如果let countEvent=arrent?.count{

对于0中的i..A
for
循环隐式地增加其迭代器。如果您想获得对迭代器的显式控制,可以使用
while
循环替换
for
循环,如下所示:

var i = 0
while i < countEvent {
    //...
    i += 1
}
var i=0
当我在谈论这件事的时候{
//...
i+=1
}
这很容易让您有机会将increment语句包装在
if
子句中,以实现您正在寻找的条件递增行为


同样,正如@Sulthan所提到的,如果你不增加机会,你就会陷入一个无止境的循环。看起来你要么改变你的整个逻辑,要么至少添加另一个终止条件,以最终结束这个无止境的循环。

首先:显示你当前的代码……请花点时间了解a是什么以及为什么它是必需的。现在添加了代码@Felix@user3386109你能不能看一看你不清楚你想发生什么。当你说“//增加计数”时,你在说什么变量?它是
i
countEvent
还是别的什么?它的i,我需要在条件满足时增加i,否则循环应该从旧值开始