05 2016 档案
摘要:Swift是现在Apple主推的语言,2014年新推出的语言,比Scala等“新”语言还要年轻10岁。2015年秋已经开源。目前在linux上可用,最近已经支持Android NDK;在树莓派上有SwiftyGPIO库,可以通过GPIO控制一些硬件。 Object C is old and ugly
阅读全文
摘要:扩展就是向一个已有的类、结构体或枚举类型添加新功能,包含属性和方法,如果你定义了一个扩展向一个已有类型添加新功能,那么这个新功能对该类型的所有已有实例中都是可用的,即使它们是在你的这个扩展的前面定义的。 扩展语法 使用关键extension来声明一个扩展,在extension后面加类型名称 一个扩展
阅读全文
摘要:可选链Optional Chaining是一种可以在当前值可能为nil的可选值上请求和调用属性、方法及下标的方法。如果可选值有值,那么调用就会成功;如果可选值是nil,那么调用将返回nil。多个调用可以连接在一起形成一个调用链,如果其中任何一个节点为nil,整个调用链都会失败,即返回nil。 通过在
阅读全文
摘要:Swift使用自动引用计数(ARC)来跟踪并管理应用使用的内存。大部分情况下,这意味着在Swift语言中,内存管理"仍然工作",不需要自己去考虑内存管理的事情。当实例不再被使用时,ARC会自动释放这些类的实例所占用的内存。然而,在少数情况下,为了自动的管理内存空间,ARC需要了解关于你的代码片段之间
阅读全文
摘要:Swift团队在博客中宣布Swift 3.0语言首个开发者预览版将于5月12日释出,正式版将在4-6周之后推出。开发者预览阶段并无确定的更新周期和计划,不过Swift团队称努力将其控 制在4-6周内。按此计划,Swift 3.0将错过WWDC发布窗口,团队计划于年底随新版本Xcode升级版一起发布。
阅读全文
摘要:在一个类的实例内存被释放之前,析构方法被立即调用。使用deinit关键字来声明析构方法,类似于构造方法用init来声明。析构方法只适用于类类型。 析构方法原理 Swift会自动释放不再需要的实例以释放资源。如自动引用计数那一章描述,Swift通过自动引用计数(ARC)处理实例的内存管理。不需要手动的
阅读全文
摘要:初始化是为了使用某个类、结构体或枚举类型的实例而进行的准备过程。这个过程包括为每个存储的属性设置一个初始值,然后执行新实例所需的任何其他设置或初始化。 初始化是通过定义构造器(Initializers)来实现的,这些构造器可以看做是用来创建特定类型实例的特殊方法。与 Objective-C 中的构造
阅读全文
摘要:在 Swift 中,继承是区分「类」与其它类型的一个基本特征。swift不支持多重继承。类可以调用和访问超类的方法,属性和subscripts下标,并且可以重写(override)这些方法,属性和附属脚本来优化或修改它们的行为。Swift 会检查你的重写定义在超类中是否有匹配的定义,以此确保你的重写
阅读全文
摘要:Swift在这2年的时间内,发展势头迅猛,在它开源后,更是如井喷一样,除了 iOS、mac 平台,还支持了 Linux。 而今年下半年, Swift 3.0 也会随之发布。https://github.com/apple/swift-evolution详细介绍了3.0的特性 这个版本的主要目标增强语
阅读全文