摘要:
来源 Official documents定义一个类层次作为例子类型检查向下转型(简称下转)Any和AnyObject的转换nyObject类型Any类型类型转换在Swift中使用 is 和 as操作符实现。这两个操作符提供了一种简单达意的方式去检查值的类型或者转换它的类型。类型检查操作符(is):...
阅读全文
posted @ 2015-03-25 20:13
道无涯
阅读(113)
推荐(0)
摘要:
Official documents来源自可选链可替代强制拆包为可选链定义模型类通过可选链调用属性通过可选链调用方法通过自判断链接调用子脚本可选链可替代强制拆包通过在想调用的属性、方法、或子脚本后面的可选值放一个问号,可以定义一个可选链接。这一点很像在可选链接后面放一个声明符号来强制拆得其封包内的值...
阅读全文
posted @ 2015-03-25 20:11
道无涯
阅读(127)
推荐(0)
摘要:
来源强引用闭环和解环弱引用无主引用捕获列表自动引用计数(Automatic Reference Counting)简称ARC跟踪内存中的实例被哪些类属性、常量或变量所引用在没有类属性、常量或变量引用该类实例时,释放该类实例在内存中所占的空间。ARC机制最主要的功能是自动回收系统分配给类实例的空间。强...
阅读全文
posted @ 2015-03-24 10:00
道无涯
阅读(159)
推荐(0)
摘要:
来源在一个类的实例被释放之前,反初始化函数被立即调用。用关键字deinit来标示反初始化函数。反初始化函数只适用于类类型。析构器原理如果创建了一个自定义的类来打开一个文件,并写入一些数据,你可能需要在类实例被释放之前关闭该文件。在类的定义中,每个类最多只能有一个反初始化函数。反初始化函数不带任何参数...
阅读全文
posted @ 2015-03-23 20:47
道无涯
阅读(419)
推荐(0)
摘要:
来源构造过程是为了使用某个类、结构体或枚举类型的实例而进行的初始化过程。类实例也可以通过定义析构器(deinitializer)在类实例释放之前执行特定的清除工作。存储型属性的初始赋值构造器默认属性值自定义构造器构造参数内部和外部参数名可选属性类型构造过程中常量属性的修改默认构造器结构体的逐一成员构...
阅读全文
posted @ 2015-03-23 16:45
道无涯
阅读(199)
推荐(0)
摘要:
来源Official documents定义一个基类(Base class)子类重写重写方法重写属性重写属性的Getters和Setters重写属性观察器(Property Observer)防止重写一个类可以继承另一个类的方法,属性和其它特性。当一个类继承其它类时,继承类叫子类,被继承类叫超类(或...
阅读全文
posted @ 2015-03-23 13:55
道无涯
阅读(238)
推荐(0)
摘要:
来源Official documents附属脚本:可以定义在类、结构体和枚举这些目标中,可以认为是访问对象、集合或序列的快捷方式。举例来说,用附属脚本访问一个数组(Array)实例中的元素可以这样写 someArray[index] ,访问字典(Dictionary)实例中的元素可以这样写 some...
阅读全文
posted @ 2015-03-23 11:02
道无涯
阅读(151)
推荐(0)
摘要:
来源Official documents方法分为两种:实例方法(Instance Methods)类型方法(Type Methods)方法基本和函数一样实例方法(Instance Methods)定义一个实例方法:class Counter { var count = 0 func incr...
阅读全文
posted @ 2015-03-21 20:27
道无涯
阅读(186)
推荐(0)
摘要:
来源Official documents属性分为计算属性、存储属性、类型属性另外,还可以定义属性监视器来监控属性值的变化。属性监视器可以添加到自己写的存储属性上,也可以添加到从父类继承的属性上。存储属性简单来说,一个存储属性就是存储在特定类或结构体的实例里的一个常量或变量。下面的例子定义了一个名为F...
阅读全文
posted @ 2015-03-21 19:44
道无涯
阅读(166)
推荐(0)
摘要:
来源英文版Swift定义class SomeClass { // 类 } struct SomeStructure { // 结构体} 生成类和结构体的实例struct Resolution { var width = 0 var height = 0}class Vid...
阅读全文
posted @ 2015-03-21 18:51
道无涯
阅读(146)
推荐(0)