加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

6.6 Swift嵌套函数

发布时间:2020-12-14 06:32:54 所属栏目:百科 来源:网络整理
导读:/** 嵌套函数 实际上呢,嵌套函数应该放在上一张来讲啦,这里我们放在闭包这里来讲 为了讲解在闭包中的捕获上下文的值 闭包捕获上下文的值,实际上就是嵌套函数 */ var array = [ 20 , 2 , 3 , 70 , 8 ] bubbleSortFunc (array: array) print ( "-----------

/**

嵌套函数

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

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

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

*/

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

}

}

}

}

}

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读