构造过程是为了使用某个类、结构体或枚举类型的实例而进行的准备过程,在构造过程中,对每个属性进行了初始值预设和其他必要的准备和初始化工作。
与OC相比,swift的构造函数,不需要返回值。同时,在类和结构体的构造过程中,必须对所有的存储类型属性,包含继承自父类的属性,赋予合适的初始值。存储类型值不能处于一个未知状态。
在对属性进行初始化过程中,有两种方法,第一:使用构造方法,第二:在定义属性时,...
分类:
其他好文 时间:
2014-06-22 22:48:43
阅读次数:
340
swift定义可选型的时候,要用“?”,但是在swift的标准库中,可选型的定义是Optional,”?”只是个简写形式。
var myNum: Int?
var myNum: Optional
两句等价
可以看出可选型是个泛型,而Optional又是个枚举,Optional可以是 None,也可以是Some(T):
protocol Reflectable {...
分类:
其他好文 时间:
2014-06-22 22:20:27
阅读次数:
259
一 、扩展
扩展是为一个已经存在的类、结构、枚举类型添加新功能的一种方式,包括为不能存取源代码的那些已经存在的类型添加功能。
扩展类似于Objective-C语言中的类别,与类别不同的是Swift语言的扩展没有名字。
扩展能够为已存在类型:
1)增加计算属性和计算静态属性;
2)定义新的实例方法和类型方法;
3)提...
分类:
移动开发 时间:
2014-06-22 20:37:42
阅读次数:
264
一、方法
方法是与特定类型相关的函数。与属性一样,方法也包括实例方法和类型方法。
类、结构、枚举都能定义实例方法,用来封装或实现给定类型的一个实例相关的功能或特定任务。
类、结构、枚举也能定义与类型本身相关的类型方法。类型方法与Objective-C语言中的类方法相似,类型方法只能在类型本身上调用。
2.1 实例方法的定义...
分类:
移动开发 时间:
2014-06-22 20:24:10
阅读次数:
236
协议定义了适合某个特定任务或功能需要的方法、属性和其它需求的一个蓝图。协议本身不提供这些需求的实现,它只是描述了一个任务或功能实现的蓝图。
协议与java 语言中的接口定义类似,都是描述了一个实现可以干什么,而本身却不包含任何实现。与接口不同的是swift语言定义的协议可以被一个类、结构、或者枚举采用,来提供协议规定需求的实际实现,而java 语言的接口只能被类实现。
...
分类:
移动开发 时间:
2014-06-22 18:53:21
阅读次数:
200
扩展
扩展可以让我们给一个已有的类、结构体、枚举等类型添加新功能,包括属性和方法,甚至是构造器,下标,支持协议等等。。。
甚至是我们拿不到源代码的类、结构体、枚举,我们依然可以给它加扩展。。。
看到这里的时候,我还有点小激动呢。。。可是淡定下来之后,觉得这TMD就是个大大的飞线,飞线,飞线。。。这让我们的代码难以理解全面(总要担心是不是哪里还有扩展,我没读到的。。谁会不会在哪...
分类:
其他好文 时间:
2014-06-22 18:45:04
阅读次数:
154
一 、属性
属性是特定类、结构或枚举的相关值,属性根据作用域不同分为实例属性与类型属性,还可以根据是否存储分为存储属性和计算属性。
1.1 实例属性
为一个类、结构或枚举定义的属性默认属于实例属性,即该属性属于为该类型创建的不同实例,不同实例具有属性的不同拷贝。每次当你创建了一个特定类型的新的实例,它总有一组自己的属性。即每个实例带自己的一组属性。...
分类:
移动开发 时间:
2014-06-22 15:10:26
阅读次数:
245
扩展就是向一个已有的类、结构体或枚举类型添加新功能(functionality)。扩展和 Objective-C 中的分类(categories)类似。(不过与Objective-C不同的是,Swift 的扩展没有名字。)
Swift 中的扩展可以:
1.添加计算型属性和计算静态属性
2.定义实例方法和类型方法
3.提供新的构造器
4.定义下标
5.定义和使用新的嵌套类型
6.使一个...
分类:
其他好文 时间:
2014-06-22 14:50:00
阅读次数:
211
实例的初始化是准备一个类、结构或枚举的实例以便使用的过程。初始化包括设置该实例的每一个存储 属性为一个初始值,以及执行任何其它新的实例能够使用之前需要的设置或初始化。
一个类、结构或枚举能定义一个初始化方法来设置它的特性,用来确保它的实例的所有属性都有有效的初始值。
通过调用类、结构或枚举提供的初始化方法来执行实例的初始化过程。
类的实例也能实...
分类:
移动开发 时间:
2014-06-21 22:04:27
阅读次数:
348
Protocol(协议)用于统一方法和属性的名称,而不实现任何功能。协议能够被类,枚举,结构体实现,满足协议要求的类,枚举,结构体被称为协议的遵循者。
遵循者需要提供协议指定的成员,如属性,方法,操作符,下标等。
一、协议的基本语法
咱们还是先上代码吧
protocol Human {
var name:String{ get set }
var isMan:...
分类:
其他好文 时间:
2014-06-21 18:39:12
阅读次数:
199