import Foundation /* 可能失败构造器的传播(调用) 1.可能失败的构造器可以调用同一个类中的普通构造器 2.普通构造器不能调用同一个类中的可能失败构造器 3.结构体中, 普通构造器却可以调用同一个结构体中可能失败的构造器 可能失败构造器的重写 1.子类可以用可能失败的构造器或者普通的构造器重写父类中的可能失败的构造器 2.子类的普通构造器不能向上调用父类的可能失败的构造器 3.子类的可能失败的构造器可以调用父类的可能失败的构造器 */ class Person { var n…
swift 中什么时候需要处理异常,在调用系统某个方法的时,该方法最后有一个throws 说明该方法会抛出异常,如果一个方法抛出异常,那么需要对该异常进行处理 swift 异常处理提供了三种方法 方式一: try  ,程序员手动处理异常 do { let regx = try NSRegularExpression(pattern: pattern, options: .CaseInsensitive) } catch { //系统给我们提供了一个临时常量 error //在这里处理异常 pri…
ReadMehtml, body {overflow-x: initial !important;}.CodeMirror { height: auto; } .CodeMirror-scroll { overflow-y: hidden; overflow-x: auto; } .CodeMirror-lines { padding: 4px 0px; } .CodeMirror pre { padding: 0px 4px; } .CodeMirror-scrollbar-filler, .…
import Foundation /* Swift中子类必须包含的构造器 1.Swift允许在父类构造器前添加required关键字, 用于声明所有子类必须包含该required构造器 (如果没有声明, 子类中默认会自动包含), 至于要怎么实现父类中required构造器, 没有特殊要求 可以通过便利构造器实现, 也可以通过普通构造器实现 2.父类中声明的required构造器既可以是指定构造器, 也可以是便利构造器 Swift中子类必须包含的析构器(用于在对象释放之前进行资源释放, 对象会在…
import Foundation /* 构造器的继承: Swift的子类不会自动继承父类的构造器, 若继承, 则满足如下规则: 1.如果子类没有提供任何指定构造器, 那么它将自动继承父类的所有指定构造器 2.如果子类实现了父类所有的指定构造器, 无论如何实现的, 都将自动继承父类的所有便利构造器 */ /* 构造器的重写: 1.子类构造器重写了父类的指定构造器, 必须添加override修饰符 2.子类中定义的构造器只是和父类中便利构造器的形参列表, 外部形参名相同, 不算重写 */ /* 总…
import UIKit // 1.一个类中至少有一个指定构造器, 其必须负责初始化类中所有的实例存储属性 // 2.便利构造器属于次要的, 辅助性的构造器 // 3.类中可以不定义便利构造器, 便利构造器必须调用同一个类中的其他构造器完成初始化 // 4.便利构造器的语法格式 convenience init(形参) {} // 5.只有类中才有便利构造器 // 类的构造器链 // Swift对构造器之间的调用链制定了如下3条规则: // 1.子类构造器必须调用直接父类的指定构造器(如果有乳类…
要学习Swift这门语言,就必须先了解Swift的关键字及对应的解释.这里就列一下在Swift中常用到的关键字. 关键字是类似于标识符的保留字符序列,除非用重音符号(`)将其括起来,否则不能用作标识符.关键字是对编译器具有特殊意义的预定义保留标识符.常见的关键字有以下4种. 与声明有关的关键字:class.deinit.enum.extension.func.import.init.let.protocol.static.struct.subscript.typealias和var. 与语句有关…
Swift 中枚举高级用法及实践 字数11017 阅读479 评论0 喜欢20 title: "Swift 中枚举高级用法及实践"date: 2015-11-20tags: [APPVENTURE]categories: [Swift 进阶]permalink: advanced-practical-enum-examples 原文链接=http://appventure.me/2015/10/17/advanced-practical-enum-examples/作者=Benedik…
原文出处:Understanding Optionals in Swift 苹果新的Swift编程语言带来了一些新的技巧,能使软件开发比以往更方便.更安全.然而,一个很有力的特性Optional,在你第一次使用时可能会感到困惑.Optionals将会在编译阶段检查哪些值为nil.通过这种方式,你可以更好的保证应用程序交付在用户手里是可运行的.在Swift中,Optionals也提供了一些接口用来和遗留的Objective-C代码之间交互. 初试Optional 让我们在XCode中新建一个叫做s…
Swift中用类名字符串创建类(用到了命名空间) OC中可以直接通过类名的字符串转换成对应的类来操作,但是Swift中必须用到命名空间,也就是说Swift中通过字符串获取类的方式为NSClassFromString(命名空间.类名) // 1.获取命名空间 // 通过字典的键来取值,如果键名不存在,那么取出来的值有可能就为没值.所以通过字典取出的值的类型为AnyObject? guard let clsName = NSBundle.mainBundle().infoDictionary!["C…