6.6 Swift嵌套函数

前端之家收集整理的这篇文章主要介绍了6.6 Swift嵌套函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

/**

嵌套函数

实际上呢,嵌套函数应该放在上一张来讲啦,这里我们放在闭包这里来讲

为了讲解在闭包中的捕获上下文的值

闭包捕获上下文的值,实际上就是嵌套函数

*/

var array = [20,2,3,70,8]


bubbleSortFunc(array: &array)

print("----------------->")

showArray(array: array)



func showArray(array: [Int]) -> Void {

for x in array {

print("\(x)")

}

}

// 函数是全局的

func swapValue(a: inout Int,b: inout Int) {

let t = a

a = b

b = t

}

// 写个冒泡排序, 用闭包表达式作为回调

func bubbleSortFunc(array:inout [Int]) {

let cnt = array.count

// 函数是局部的,作用域只在这个内部使用,仅仅为这个函数服务

func swapValue2(a: inout Int,b: inout Int) {

// 我们可以访问这个函数的局部变量,这个就是值捕获

print("数组的个数\(cnt)")

let t = a

a = b

b = t

}

for (i,value) in array.enumerated()

{

if i > 0

{

for (j,value2) in array.enumerated()

{

// print("j=====\(j)")

// print("====\(cnt - i)")

if j < cnt - i

{

if array[j] > array[j+1]

{

// 换成用函数

// swapValue(a: &array[j],b: &array[j+1])

swapValue2(a: &array[j],b: &array[j+1])

// let t = array[j]

// array[j] = array[j+1]

// array[j+1] = t

}

}

}

}

}

}

猜你在找的Swift相关文章