1.Swift中的特性: @引出,后面紧跟特性名,圆括号带参数即可. @attribute(args) avaiable: 指明对象,函数,类型的可用性. @available(iOS 10.0, macOS 10.10, *) discardableResult: 用于修饰带有返回值的函数或方法,以指明当前函数或方法的返回值可被缺省. @discardableResult func foo(a: Int) -> Int { }   func foo(_: Void) -> Int { }  …
1.对已有操作符的重载: 2.可定制的操作符: 3.定制前缀操作符: 4.定制后缀操作符: 5.定制中缀操作符:…
1.类的属性: 2.类的方法: 3.类作为引用类型: “Swift新增了一对操作符 === 与 !== 用于判定同一个类的两个对象引用是否指向同一对象实例.” 摘录来自: “大话Swift 4.0”. iBooks. 4.继承: 添加 final 关键字,如果对一个用 final 所修饰的类进行继承,那么编译器就会直接报错.当然,我们也可以用 final 关键字去修饰一个类中的方法,使得它不允许被其子类重写. 5.对属性的继承: “当子类B重写了父类A的某一存储式实例属性的属性观察者之后, 我们…
1.Optional基本使用: 当我们声明一个Optional对象时,无论该对象是在文件作用域还是在函数体内作为局部对象声明,如果不对它初始化,那么它的值默认为空(nil). // 声明a为Int类型的option类型对象 var a: Int? = 100// 类型为Int?,初始化为nilvar b: Int? = nil 2.Optional链: 3.Optional的强制拆解: 4.Optional绑定: 5.空结合操作符: ) let b = // 这里的a ?? b表达式 var c…
1.类型定义: /// 这里将MyInt定义为Int32类型 typealias MyInt = Int32   /// 这里将MyArrayInt定义为[MyInt]数组类型 typealias MyArrayInt = [MyInt] 2.元类型: “元类型(metatype)是指可引用某个类型的类型对象的类型.” 摘录来自: “大话Swift 4.0”. iBooks. let a = .self   // 输出:a = 10 print("a = \(a)")   let tu…
1.闭包的定义和调用: _ = { (param1: Int, param2: Float, param3: Void) -> return_type in // 闭包执行代码 /* ... */ } // 这里声明了一个函数类型的引用指向闭包 // 其类型为:(Int, Int) -> () -> Void let ref = { (a: Int, b: Int) -> () -> Void in   let sum = a + b   // 这里在一个闭包内定义了一个嵌套…
1.函数的定义与调用: 一个函数定义的基本语法如以下代码所示: func function_name (param1: Int, param2: Float, param3: Double) -> return_type { // function-body /* ... */ } 2.函数的实参标签: 3.默认形参值: 4.不定个数的形参: /// 这里定义了一个带有不定参数个数的函数foo /// 这里不定个数的形参的类型为Int func foo(a: Int, b: Int...) {…
1.do语句块: Swift编程语言中可使用 do 语句块作为类似C语言中的一般语句块进行使用.与C语言的语句块类似,Swift中的 do 语句块单独作为一个作用域,该语句块中声明的局部对象在其外部将无法被访问.如果在 do 语句块中声明了对象,该对象标识符与其外部已有的对象标识符相同,那么在该语句块内部所访问的标识符都是它内部声明的.也就是说,语句块内声明的对象会将语句块外部的同名对象给覆盖掉. Swift中如果不用 do 引出,而单单用花括号 { } ,那么它默认表达的是一个闭包表达式,而不…
1.类型相互转换: Int(a) Float(b) let a = Bool(truncating: NSNumber(value: c)) 2.元组: let tuple: (Int, String, Bool) = (10, 'sisi', true) let tuple2 = (int: 5, double: 3.5, bool: true) let c = tuple2.int 空元祖: // 声明一个Void类型的常量vlet v: Void // 用空元组对v初始化v = () 3.…
1.访问等级: open: 可以继承,可以重写. public: “public 访问等级能用于修饰所有文件作用域的函数.对象.协议.枚举.结构体.类以及各种类型中的属性与方法.用 public 所修饰的对象.函数.类型及类型的属性和方法能被其他模块所使用.但是其他模块不能继承当前所定义的类类型,也不能对当前类类型中的属性和方法进行重写.所以 public 访问等级比 open 要低一级,但其适用范围比 open 要广.” 摘录来自: “大话Swift 4.0”. iBooks. interna…