上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页
摘要: // 通过扩展添加协议一致性 // 即便无法修改源代码, 依然可以通过扩展 令已有类型遵循并符合协议, 扩展可以为已有类型添加属性, 方法, 下标 以及构造器, 因此可以符合协议中的相应要求 // 注意: 通过扩展令已有类型遵循并符合协议时, 该类型的所有势力也会随之获得协议中定义的各项功能 pro 阅读全文
posted @ 2017-06-02 13:55 Dingzhijie 阅读(185) 评论(0) 推荐(0) 编辑
摘要: // 协议 定义了一个蓝图, 规定了用来实现某一特定任务或者功能的方法, 属性, 以及其他需要的东西. // 类, 结构体, 或 枚举都可以遵循协议, 并且为协议定义的这些要求 提供具体的实现, 某个类型能够满足某个协议的要求, 就可以说该类型 遵循了这个协议 // 除了遵循协议的类型必须实现的要求 阅读全文
posted @ 2017-06-02 09:29 Dingzhijie 阅读(168) 评论(0) 推荐(0) 编辑
摘要: // 扩展 就是为一个已有的 类, 结构体, 枚举, 或者 协议类型添加新功能, 这包括在没有权限获取 原始代码的情况下 扩展类型的能力 (即 逆向建模), 扩展和 OC 中的分类类似, (与 OC 不同的是, Swift 的扩展没有名字) // Swift 中的扩展可以 // 1: 添加计算型属性 阅读全文
posted @ 2017-06-01 10:27 Dingzhijie 阅读(163) 评论(0) 推荐(0) 编辑
摘要: // 枚举 常备用于为特定的类 或 结构体实现某些功能, 类似的, 枚举可以方便的定义工具类 或 结构体, 从而为某个复杂的类型所使用, 为了实现这种功能, Swift 允许你定义 嵌套类型, 可以在支持的类型中定义嵌套的,枚举, 类和 结构体 // 要在一个类型中嵌套 另一个类型, 将嵌套类型的定 阅读全文
posted @ 2017-05-31 17:06 Dingzhijie 阅读(248) 评论(0) 推荐(0) 编辑
摘要: // 类型转换 可以判断实例的类型, 也可以将实例看做其父类的或者子类的实例 // 类型转换在 Swift 中使用 is 和 as 操作符实现, 这两个操作符提供了一种简单达意的方式去检查值的类型 或者转换它的类型 // 你也可以用它来检查一个类型是否实现了某个协议 // 定义一个类层次作为例子 / 阅读全文
posted @ 2017-05-31 15:40 Dingzhijie 阅读(159) 评论(0) 推荐(0) 编辑
摘要: // 错误处理 是响应错误以及 从错误中恢复的过程, Swift 提供了在运行时对 可恢复错误的 抛出, 捕获, 传递 和 操作的支持 // 某些操作无法保证总是执行完所有代码 或总是生层有用结果, 可选类型 可用来表示值缺失, 但是当某个操作失败时, 最好能得知失败的原因, 从而可以做出相应的应对 阅读全文
posted @ 2017-05-31 14:16 Dingzhijie 阅读(500) 评论(0) 推荐(0) 编辑
摘要: // 可选链式调用 是一种在当前值可能为 nil 的可选值上请求 和 调用属性, 方法以及下标, 如果 可选值有值, 那么调用就会成功, 如果可选值是 nil, 那么就会将返回 nil , // 多个调用可以连接在一起形成一个调用链, 如果其中任何一个节点为 nil, 整个调用链都会失败, 即返回 阅读全文
posted @ 2017-05-27 15:17 Dingzhijie 阅读(506) 评论(0) 推荐(0) 编辑
摘要: // Swift 使用 自动引用计数 (ARC) 机制来跟踪和管理你的应用程序的内存, 通常情况下, Swift 内存管理机制会一直起作用, 你无须自己来考虑内存的管理, ARC 会在类的实例不再被使用时,自动释放其占用的内存 // 然而在少数情况下, 为了能帮助你管理内存, ARC 需要更多的能带 阅读全文
posted @ 2017-05-27 09:54 Dingzhijie 阅读(188) 评论(0) 推荐(0) 编辑
摘要: // 析构器 只适用与 类类型, 当一个类的实例被释放之前, 析构器会被立即调用, 析构器用关键字 deinit 来标示, 类似于构造器要用 init 来标示 // 析构过程原理 // Swift 会自动释放不再需要的实例以释放资源, 如 自动引入计数 章节中所描述, Swift 通过自动引用计数 阅读全文
posted @ 2017-05-26 10:48 Dingzhijie 阅读(177) 评论(0) 推荐(0) 编辑
摘要: // 类的继承 和 构造过程 // 类里面的所有的存储型属性 -- 包括所有继承自父类的属性 -- 都必须在构造过程中设置初始值 // Swift 为类类型提供了 两种构造器来确保实例中所有的存储属性都能获得初始值, 他们分别是 指定构造器 和 便利构造器 // 指定构造器 和 便利构造器 // 指 阅读全文
posted @ 2017-05-25 16:23 Dingzhijie 阅读(205) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页