Swift-04-Designated&&Convenience】的更多相关文章

类里面所有的存储型属性--包括所有继承自父类的属性,都必须在构造过程中设置初始值.   构造器,为了确保所有类实例中的存储型属性都能获得初始值,设置了两个构造器--他们分别是指定构造器和便利构造器.   指定构造器,是类中最主要的构造器. 一个指定构造器将初始化类中所提供的所有属性,并根据父类链往上调用父类的构造器来实现父类的初始化.   每个类都必须拥有至少一个指定构造器,在某些情况下,许多类通过继承了父类中的指定构造器而满足了这个条件.   便利构造器是类中比较次要的.辅助性的构造器.你可以…
函数的基本构造 基本结构 func 函数名 (形参名:形参类型) ->返回值 {实现代码} 如果没有参数,那么也必须把参数的括号带上 如果有多个形参,那么必须以逗号 , 隔开 如果没有返回值,那么可以省略 也可以以->Void 和 () 代替 你可以在形名前指定外部参数名,中间以空格分隔. 注意: 如果你提供了外部参数名,那么函数在被调用时,必须使用外部参数名. 第一个参数默认忽略其外部参数名称,明确写下划线是多余的 如果你不想为第二个及后续的参数设置参数名,用一个下划线(_)代替一个明确地参…
import UIKit var str = "Hello, playground" // 显式定义浮点型常量 let PI:Float = 3.141592612312312 let PI2:Double = 3.14123456789123123123 // 隐式定义浮点型变量 var randomFloat = 12312.123323 var randomDouble = 2.3793758374597349879374 // 只要理解浮点型就是有小数点的就可以了..…
本篇主要讲解 Swift 中 Designated.Convenience和 Required 的使用: 在 OC 中 init 方法是非常不安全的,没人能够保证 init 只被调用一次,也没有人保证在初始化方法调用以后实例的各个变量都完成初始化,甚至如果在初始化里使用属性进行设置的的话,还可能会造成各种问题.Swift 强化了 designated 初始化方法的地位.swift 中不加修饰的 init 方法都需要在方法中保证所有非 Optional 得实例变量被赋值初始化,而在子类中也强制(显…
1.函数 2.闭包 3.构造函数基础 4.重载构造函数 5.KVC构造函数 6.遍历构造函数 7.懒加载 8.只读属性 1.函数 掌握函数的定义 掌握外部参数的用处 掌握无返回类型的三种函数定义方式 /* - 无参数无返回值的函数 - 格式: func 函数名(){代码逻辑} */ /* - 有参数无返回值的函数 - 格式: func 函数名(外部参数1 形参1: 形参类型,...){代码逻辑} - Swift默认 第一个参数的名省略 - 一般情况下 如果自己使用的函数没有必要定义外部参数 */…
转载请务必注明出处(all copyright reserved by iOSGeek) 本文主要分为两个部分,第一部分介绍Swift的基本语法,第二部分讲解一个利用WebView来打开百度.sina等网页的小demo,如果对swift的语法不感兴趣的同学可以直接跳到第二部分来感受下Swift的魅力-(本文的demo源码已上传至github:https://github.com/iOSGeek0829/XSurfing) 一.Swift常用语法 Swift是Apple去年推出的一门新的语言,基于…
闭包      类似于 OC 中的 Block,是一段预先定义好的代码,在需要时执行   闭包表达式格式:  { (形参名称1: 形参类型1, 形参名称2: 形参类型2, ...) -> 返回值 `in`           //要执行的代码   } in 用于区分闭包定义和代码实现     //定义有参数a的闭包    let coluse = { (a:String)->Void in        print("xxxxx\(a)")    }       //定义无…
KVC 字典转模型构造函数 /// `重写`构造函数 /// /// - parameter dict: 字典 /// /// - returns: Person 对象 init(dict: [String: AnyObject]) { setValuesForKeysWithDictionary(dict) } 以上代码编译就会报错! 原因: KVC 是 OC 特有的,KVC 本质上是在运行时,动态向对象发送 setValue:ForKey: 方法,为对象的属性设置数值 因此,在使用 KVC…
Swift 2.0 构造函数基础 构造函数是一种特殊的函数,主要用来在创建对象时初始化对象,为对象成员变量设置初始值,在 OC 中的构造函数是 initWithXXX,在 Swift 中由于支持函数重载,所有的构造函数都是 init 构造函数的作用 分配空间 alloc 设置初始值 init 必选属性 自定义 Person 对象 class Person: NSObject { // 姓名 var name: String // 年龄 var age: Int } 提示错误 Class 'Per…
互用性是让 Swift 和 Objective-C 相接合的一种特性,使你能够在一种语言编写的文件中使用另一种语言.当你准备开始把 Swift 融入到你的开发流程中时,你应该懂得如何利用互用性来重新定义并提高你写 Cocoa 应用的方案. 互用性很重要的一点就是允许你在写 Swift 代码时使用 Objective-C 的 API 接口.当你导入一个 Objective-C 框架后,你可以使用原生的 Swift 语法实例化它的 Class 并且与之交互. 初始化 为了使用 Swift 实例化 O…