1. gocrawl 类结构 1 // The crawler itself, the master of the whole process 2 type Crawler struct { 3 Options *Options 4 5 // Internal fields 6 ...
分类:
其他好文 时间:
2014-06-28 13:52:36
阅读次数:
175
协议定义了适合某个特定任务或功能需要的方法、属性和其它需求的一个蓝图。协议本身不提供这些需求的实现,它只是描述了一个任务或功能实现的蓝图。 协议与java 语言中的接口定义类似,都是描述了一个实现可以干什么,而本身却不包含任何实现。与接口不同的是swift语言定义的协议可以被一个类、结构、或者...
分类:
移动开发 时间:
2014-06-23 00:15:31
阅读次数:
248
Swift语言的扩展是为一个已经存在的类、结构、枚举类型添加新功能的一种方式,包括为不能存取源代码的那些已经存在的类型添加功能。 扩展类似于Objective-C语言中的类别,与类别不同的是Swift语言的扩展没有名字。 扩展能够为已存在类型: 1)增加计算属性和计算静态属性; ...
分类:
移动开发 时间:
2014-06-23 00:08:10
阅读次数:
396
构造过程是为了使用某个类、结构体或枚举类型的实例而进行的准备过程,在构造过程中,对每个属性进行了初始值预设和其他必要的准备和初始化工作。
与OC相比,swift的构造函数,不需要返回值。同时,在类和结构体的构造过程中,必须对所有的存储类型属性,包含继承自父类的属性,赋予合适的初始值。存储类型值不能处于一个未知状态。
在对属性进行初始化过程中,有两种方法,第一:使用构造方法,第二:在定义属性时,...
分类:
其他好文 时间:
2014-06-22 22:48:43
阅读次数:
340
/*******************************************************************************/
// 协议
protocol Description{
func description() -> String
mutating func aMutatingMethod()
class func ...
分类:
其他好文 时间:
2014-06-22 22:33:55
阅读次数:
169
一 、扩展
扩展是为一个已经存在的类、结构、枚举类型添加新功能的一种方式,包括为不能存取源代码的那些已经存在的类型添加功能。
扩展类似于Objective-C语言中的类别,与类别不同的是Swift语言的扩展没有名字。
扩展能够为已存在类型:
1)增加计算属性和计算静态属性;
2)定义新的实例方法和类型方法;
3)提...
分类:
移动开发 时间:
2014-06-22 20:37:42
阅读次数:
264
协议定义了适合某个特定任务或功能需要的方法、属性和其它需求的一个蓝图。协议本身不提供这些需求的实现,它只是描述了一个任务或功能实现的蓝图。
协议与java 语言中的接口定义类似,都是描述了一个实现可以干什么,而本身却不包含任何实现。与接口不同的是swift语言定义的协议可以被一个类、结构、或者枚举采用,来提供协议规定需求的实际实现,而java 语言的接口只能被类实现。
...
分类:
移动开发 时间:
2014-06-22 18:53:21
阅读次数:
200
扩展
扩展可以让我们给一个已有的类、结构体、枚举等类型添加新功能,包括属性和方法,甚至是构造器,下标,支持协议等等。。。
甚至是我们拿不到源代码的类、结构体、枚举,我们依然可以给它加扩展。。。
看到这里的时候,我还有点小激动呢。。。可是淡定下来之后,觉得这TMD就是个大大的飞线,飞线,飞线。。。这让我们的代码难以理解全面(总要担心是不是哪里还有扩展,我没读到的。。谁会不会在哪...
分类:
其他好文 时间:
2014-06-22 18:45:04
阅读次数:
154
WPF如何用TreeView制作好友列表、播放列表前言 TreeView这个控件对于我来说是用得比较多的,以前做的小聊天软件(好友列表)、音乐播放器(播放列表)、类库展示器(树形类结构)等都用的是TreeView,下面以一个好友列表为例,说明一下制作过程,这个过程可以搬迁到其他类似的场景中去(树形....
分类:
其他好文 时间:
2014-06-17 14:29:46
阅读次数:
191
构造过程
为了生成类、结构体、枚举等的实例,而做的准备过程,叫做构造过程。 为了这个过程,我们通常会定义一个方法来完成,这个方法叫做构造器。当然它的逆过程,叫做析构器,用于在实例被释放前做一些清理工作以及一此自定义化的处理。
为存储型属性设置初始值
类和结构体在生成实例那一刻,必须为所有的属性赋以特定的初始值。
要么在定义存储型属性的时候直接给个初始值,否则就必须在构造器里面指定一...
分类:
其他好文 时间:
2014-06-14 17:35:57
阅读次数:
248