Day: July 5, 2015

Swift中文教程(十七) 可选链

可选链(Optional Chaining)是一种可以请求和调用属性、方法及子脚本的过程,它的自判断性体现于请求或调用的目标当前可能为空(nil)。如果自判断的目标有值,那么调用就会成功;相反,如果选择的目标为空(nil),则这种调用将返回空(nil)。多次请求或调用可以被链接在一起形成一个链,如果任何一个节点为空(nil)将导致整个链失效。   注意: Swift 的自判断链和 Objective-C 中的消息为空有些相像,但是 Swift 可以使用在任意类型中,并且失败与否可以被检测到。   可选链可替代强制解析   通过在想调用的属性、方法、或子脚本的可选值(optional valu… Read More

Swift中文教程(十六) 自动引用计数

Swift使用自动引用计数(ARC)来管理应用程序的内存使用。这表示内存管理已经是Swift的一部分,在大多数情况下,你并不需要考虑内存的管理。当实例并不再被需要时,ARC会自动释放这些实例所使用的内存。   但是,少数情况下,你必须提供部分代码的额外信息给ARC,这样它才能够帮你管理这部分内存。本章阐述了这些情况并且展示如何使用ARC来管理应用程序的内存。   注意 引用计数仅仅作用于类实例上。结构和枚举是值类型,而非引用类型,所以不能被引用存储和传递。   1、ARC怎样工作 每当你创建一个类的实例,ARC分配一个内存块来存储这个实例的信息,包含了类型信息和实例的属性值信息。… Read More

Swift中文教程(十五) 析构

在一个类的实例被释放之前,析构函数会被调用。用关键字deinit来定义析构函数,类似于初始化函数用init来定义。析构函数只适用于class类型。   1、析构过程原理 Swift 会自动释放不再需要的实例以释放资源。如自动引用计数那一章描述,Swift 通过自动引用计数(ARC)处理实例的内存管理。通常当你的实例被释放时不需要手动地去清理。但是,当使用自己的资源时,你可能需要进行一些额外的清理。 例如,如果创建了一个自定义的类来打开一个文件,并写入一些数据,你可能需要在类实例被释放之前关闭该文件。   在类的定义中,每个类最多只能有一个析构函数。析构函数不带任何参数,在写法上不带括号: J… Read More

Swift中文教程(十四) 初始化

初始化是类,结构体和枚举类型实例化的准备阶段。这个阶段设置这个实例存储的属性的初始化数值和做一些使用实例之前的准备以及必须要做的其他一些设置工作。   通过定义构造器(initializers)实现这个实例化过程,也就是创建一个新的具体实例的特殊方法。和Objective-C不一样的是,Swift的构造器没有返回值。它们主要充当的角色是确保这个实例在使用之前能正确的初始化。   类实例也能实现一个析构器(deinitializer),在类实例销毁之前做一些清理工作。更多的关于析构器(deinitializer)的内容可以参考Deinitialization。    … Read More

Web 开发中 20 个很有用的 CSS 库

在过去的几年中,CSS已经成为一大部分开发者和设计者的最爱,因为它提供了一系列功能和特性。每个月都有无数个围绕CSS的工具被开发者发布以简化WEB开发。像CSS 库,框架,应用这样的工具能够为开发者做很多事,而且可以使开发者创造出创新立异的WEB应用。   在这篇文件章中我们找到了一系列对开发者有用的CSS库,它们能帮助开发者在一定的期限内取得有创造性和创新性的成果。我们希望这个列表能有助于您的开发并为您提供方便。尽情享受吧!   1. Kite Kite是一个灵活的布局助手CSS库。Kite使用`inline-block`而不是最新的CSS语法。它注重实际,易于理解且容易使用。Kite… Read More

下载YouTube视频字幕的方法

YouTube跟国内的优酷、土豆等视频网站比起来不仅广告时间短、可以“跳过广告”播放,而且很多视频上提供了字幕,有些视频甚至提供了20多种 语言的字幕。因为YouTube在国内是无法访问的,我经常会想着把一些YouTube上的视频下载下来,上传到国内的视频网站上供大家分享,但发现有个 问题,YouTube上的字幕和视频是独立的,没有合成到一起,所以,下载下来的视频是不含字幕的。这当然不行的,英语无字幕的视频估计没有几个人会喜 欢。那么,如何能把字幕也下载下来呢? YouTube的视频我是用了一个火狐浏览器的插件下载的,所以我就搜索有没有可以下载字幕的插件,果然找到了一个,YouTube Caption D… Read More

Swift中文教程(十三) 继承

一个类可以从另外一个类中继承方法,属性或者其它的一些特性。当一个类继承于另外一个类时,这个继承的类叫子类,被继承的类叫父类。继承是Swift中类区别于其它类型的一个基本特征。   Swift中的类可以调用父类的方法,使用父类的属性和下标,还可以根据需要使用重写方法或者属性来重新定义和修改他们的一些特性。Swift可以帮助你检查重写的方法和父类的方法定义是相符的。   类还可以为它继承的属性添加观察者,这样可以能够让它在一个属性变化的时候得到通知。属性观察者可以被添加给任何属性,不管它之前是存储属性还是计算属性。   1、定义一个基类 任何一个不继承于其它类的类被称作基类 注意:S… Read More

Swift中文教程(十二) 下标

类,结构和枚举类型都可以通过定义下标来访问一组或者一个序列中的成员元素。通过下标索引就可以方便地检索和设置相应的值,而不需要其他的额外操 作。比如你可以通过someArray[index]来访问数组中的元素,或者someDictionary[key]来对字典进行索引。   你可以为一个类型定义多个下标,以及适当的下标重载用来根据传递给下标的索引来设置相应的值。下标不仅可以定义为一维的,还可以根据需要定义为多维的,多个参数的。   1、下标语法 下标可以让你通过实例名后加中括号内一个或多个数值的形式检索一个元素。语法和方法语法和属性语法类似,通过使用subscript关键定义,一个 或多个… Read More