Swift总结

1.闭包

swift中的闭包类似于oc中的block回调,但是swift的闭包有很多种写法,具有多变性,今天就来总结一下最近swift的使用

1.完整写法


Swift总结_第1张图片

上面是写法,下面是调用。打印出  hello ji加油

2.在block中进行逻辑判断,再返回值

Swift总结_第2张图片

如图,下面调用以后返回值为1.

然后我们可以进行闭包表达式优化

1.类型优化, 由于函数中已经声明了闭包参数的类型, 所以传入的实参可以不用写类型

2.返回值优化, 同理由于函数中已经声明了闭包的返回值类型,所以传入的实参可以不用写类型

 3.参数优化, swift可以使用$索引的方式来访问闭包的参数, 默认从0开始

逃逸闭包:

Swift总结_第3张图片

闭包捕捉值

Swift总结_第4张图片

闭包在网络请求中的使用:

Swift总结_第5张图片

然后在VC里面调用

Swift总结_第6张图片

2.代理


Swift总结_第7张图片


Swift总结_第8张图片

然后实现

Swift总结_第9张图片

下面就是例子

Swift总结_第10张图片

3.结构体

Swift总结_第11张图片

4.扩展: 就是给一个现存类, 结构体, 枚举或者协议添加新的属性挥着方法的语法, 无需目       标源码, 就可以吧想要的代码加到目标上面

 但有一些限制条件需要说明:

 1.不能添加一个已经存在的方法或者属性;

 2.添加的属性不能是存储属性, 只能是计算属性;

 格式:

 extension 某个先有类型{

    //增加新的功能

 }

5.数组,字典操作

swift中进行数组替换的方法

var arr = [1,2,3]

arr.replaceSubrange(0...1, with: [99,88,77])

2个字典的合并

//字典合并

var dic5 = ["name":"hihello","age":23] as [String : Any]

let dic6 = ["teacher":"wang"]

for(key,value)indic6

{

    dic5[key] = value

}

6.枚举

Swift总结_第12张图片

你可能感兴趣的:(Swift总结)