swift《总结一》

1.swift :

常量和变量,可选类型,强制解析!??

2.运算符,三木运算符还多了一个半开区间运算符 闭区间运算符。

3.字符串characters下标插入和删除。

4.集合:数组,和集合setsdictionaries元组 <> 泛型

5.析构函数,构造函数。

Swift会自动释放不再需要的实例以释放资源。如自动引用计数章节中所讲述,Swift通过自动引用计数(ARC)处理实例的内存管理。通常当你的实例被释放时不需要手动地去清理。但是,当使用自己的资源时,你可能需要进行一些额外的清理。例如,如果创建了一个自定义的类来打开一个文件,并写入一些数据,你可能需要在类实例被释放之前手动去关闭该文件每个类最多只能有一个析构器,而且析构器不带任何参数

6.函数可以嵌套。

7.闭包:尾随闭包 逃逸闭包 自动闭包

尾随闭包:如果你需要将一个很长的闭包表达式作为最后一个参数传递给函数,可以使用尾随闭包来增强函数的可读性。尾随闭包是一个书写在函数括号之后的闭包表达式,函数支持将其作为最后一个参数调用。在使用尾随闭包时,你不用写出它的参数标签:

逃逸闭包:

当一个闭包作为参数传到一个函数中,但是这个闭包在函数返回之后才被执行,我们称该闭包从函数中逃逸。当你定义接受闭包作为参数的函数时,你可以在参数名之前标注@escaping,用来指明这个闭包是允许“逃逸”出这个函数的。

一种能使闭包“逃逸”出函数的方法是,将这个闭包保存在一个函数外部定义的变量中。举个例子,很多启动异步操作的函数接受一个闭包参数作为completion handler。这类函数会在异步操作开始之后立刻返回,但是闭包直到异步操作结束后才会被调用。在这种情况下,闭包需要“逃逸”出函数,因为闭包需要在函数返回之后被调用

自动闭包:

自动闭包是一种自动创建的闭包,用于包装传递给函数作为参数的表达式。这种闭包不接受任何参数,当它被调用的时候,会返回被包装在其中的表达式的值。这种便利语法让你能够省略闭包的花括号,用一个普通的表达式来代替显式的闭包。

我们经常会调用采用自动闭包的函数,但是很少去实现这样的函数。举个例子来说,assert(condition:message:file:line:)函数接受自动闭包作为它的condition参数和message参数;它的condition参数仅会在debug模式下被求值,它的message参数仅当condition参数为false时被计算求值。

你可能感兴趣的:(swift《总结一》)