一 、 For 循环的情况说明
情况说明:
在程序开发当中,For循环使用的频率无疑是最高的。常用的Swift循环是递增式遍历。在Swift3.0后,C语言形式的For循环被彻底废弃。那我们怎么再去使用For 循环呢?请您往下看...
二 、 Swift 中的一般情况下的 For .. In .. 循环
1、对数组的循环
/**
Swift 的For..In.. 循环
*/
let NumberArray = [110,119,120,112,211]
for i in NumberArray {
/**
注释:这里的 “i” 不再是索引下标值,而是数组里的对象
*/
if i == 120 {
print("你可以去医院了!")
}
print(i)
}
2、对字典的循环
let NameDictionary = ["name":"SB","name1":"EB","name2":"MD"]
for key in NameDictionary {
print(key)
}
3、对字符串的循环
let StringStr = "NetWork小贱"
for i in StringStr.characters {
print(i)
}
三 、逐渐递增的For 循环,回到 C 语言的样式
/**
可以计数的For循环,是不是又回到 C 语言的样式
*/
let CountArray = [10,20,30,40,50]
for i in 0 ..< CountArray.count {
print(i)
/**
获取数值
*/
print(CountArray[i])
}
四 、递减的For 循环
/**
递减的For 循环
*/
let DiminishArray = [100,200,300,400]
for i in (0..<DiminishArray.count).reversed() {
print(i)
// 获取对象
print(DiminishArray[i])
}
五、 For .. In .. 的执行过程
/**
For..In.. 的执行方法
这是为遍历对象调用一个枚举方法,在对数组等结构进行遍历时,我们偶尔需要知道每次遍历的索引,那么就需要用到enumerated了,其返回对象是一个元组,形式为(x,y),x代表遍历的索引值,y代表遍历的元素
*/
let principleArray = [11,22,33,44]
for (index ,i) in principleArray.enumerated() {
/**
index 是遍历元素的索引
*/
print(index)
/**
i 是遍历元素的对象
*/
print(i)
}
六 、 在For 循环中过滤一些数据
1、 第一种写法
/**
我们有的时候想在循环的时候想过滤调一些不要的数据
*/
let NumberFilterArray = [1,4,5,6,8,10]
// 我们要过滤掉偶数
for i in NumberFilterArray.filter({i in !(i%2==0)}) {
print(i)
}
2、第二种写法
/**
另一种写法,获取所有偶数
注意:
Swift闭包可以省略参数且用$0匿名,第二个参数则用$1,以此类推。
*/
let NumberFilterArray = [1,4,5,6,8,10]
for i in NumberFilterArray.filter({$0%2==0}) {
print(i)
}