摘要: 只读属性 getter & setter 在 Swift 中 很少用,以下代码仅供了解 存储型属性 & 计算型属性 存储型属性 需要开辟空间,以存储数据 计算型属性 执行函数返回其他内存地址 只实现 getter 方法的属性被称为计算型属性,等同于 OC 中的 R... 阅读全文
posted @ 2015-12-22 20:22 MarkusFeng 阅读(507) 评论(0) 推荐(0) 编辑
摘要: 懒加载 在 iOS 开发中,懒加载是无处不在的 懒加载的格式如下: 懒加载本质上是一个闭包 以上代码可以改写为以下格式 懒加载的简单写法 阅读全文
posted @ 2015-12-22 20:20 MarkusFeng 阅读(122) 评论(0) 推荐(0) 编辑
摘要: convenience 便利构造函数 默认情况下,所有的构造方法都是指定构造函数 关键字修饰的构造方法就是便利构造函数 便利构造函数具有以下特点: 可以返回 只有便利构造函数中可以调用 便利构造函数不能被 或者 swift/// ////// parameter name: 姓名/// p... 阅读全文
posted @ 2015-12-22 20:19 MarkusFeng 阅读(194) 评论(0) 推荐(0) 编辑
摘要: KVC 字典转模型构造函数 swift /// 构造函数 /// /// parameter dict: 字典 /// /// returns: Person 对象 init(dict: [String: AnyObject]) { setValuesForKeysWithDictionar... 阅读全文
posted @ 2015-12-22 20:16 MarkusFeng 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 重载构造函数 Swift 中支持函数重载,同样的函数名,不一样的参数类型 swift /// 构造函数 /// /// parameter name: 姓名 /// parameter age: 年龄 /// /// returns: Person 对象 init(name: String... 阅读全文
posted @ 2015-12-22 20:15 MarkusFeng 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 构造函数基础 是一种特殊的函数,主要用来在创建对象时初始化对象,为对象 设置初始值,在 OC 中的构造函数是 initWithXXX,在 Swift 中由于支持函数 重载 ,所有的构造函数都是 构造函数的作用 分配空间 设置初始值 必选属性 自定义 对象 提示错误... 阅读全文
posted @ 2015-12-22 20:14 MarkusFeng 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 循环引用 建立 对象 实例化 并且加载数据 运行不会形成循环引用,因为 loadData 执行完毕后,就会释放对 self 的引用 修改 ,定义回调闭包属性 运行测试,会出现循环引用 解除循环引用 与 OC 类似的方法 Swift 推荐的方... 阅读全文
posted @ 2015-12-22 20:10 MarkusFeng 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 基本使用 GCD 异步 模拟在后台线程加载数据 尾随闭包,如果闭包是最后一个参数,可以用以下写法 注意上下两段代码, 的位置 闭包的简写,如果闭包中没有参数和返回值,可以省略 自定义闭包参数,实现主线程回调 添加没有参数,没有返回值的闭包 添加... 阅读全文
posted @ 2015-12-22 20:09 MarkusFeng 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 闭包的定义 定义一个函数 定义一个闭包 闭包 = { (行参) 返回值 in // 代码实现 } 用于区分函数定义和代码实现 最简单的闭包,如果没有参数/返回值,则 统统都可以省略 { 代码实现 } 阅读全文
posted @ 2015-12-22 20:08 MarkusFeng 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 函数 目标 掌握函数的定义 掌握外部参数的用处 掌握无返回类型的三种函数定义方式 代码实现 函数的定义 格式 调用 没有返回值的函数,一共有三种写法 省略 () Void 外部参数 在形参名前再增加一个外部参数名,能够方便调用人员更好地理解函... 阅读全文
posted @ 2015-12-22 20:07 MarkusFeng 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 集合 数组 数组使用 定义,这一点与 OC 相同 遍历 通过下标获取指定项内容 可变&不可变 定义不可变数组 定义可变数组 数组的类型 如果初始化时,所有内容类型一致,择数组中保存的是该类型的内容 如果初始化时,所有内容类型不一致,择数组中保... 阅读全文
posted @ 2015-12-22 20:06 MarkusFeng 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 字符串拼接 直接在 "" 中使用 的方式可以快速拼接字符串 我和我的小伙伴再也不要考虑 了 :D 可选项的拼接 如果变量是可选项,拼接的结果中会有 为了应对强行解包存在的风险,苹果提供了 操作符 操作符用于检测可选项是否为 如果不是 ,使用当前值 如果是 ,使用后面的值替代 格式化字符串 ... 阅读全文
posted @ 2015-12-22 20:05 MarkusFeng 阅读(168) 评论(0) 推荐(0) 编辑
摘要: for 循环 OC 风格的循环 ,0..<10 表示从0到9 范围 0...10 表示从0到10 省略下标 能够匹配任意类型 表示忽略对应位置的值 阅读全文
posted @ 2015-12-22 20:04 MarkusFeng 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 控制流 if Swift 中没有 C 语言中的 概念 在逻辑判断时必须显示地指明具体的判断条件 / if 语句条件的 可以省略 但是 不能省略 三目运算 Swift 中的 运算保持了和 OC 一致的风格 适当地运用三目,能够让代码写得更加简洁 可选项判断... 阅读全文
posted @ 2015-12-22 20:01 MarkusFeng 阅读(144) 评论(0) 推荐(0) 编辑
摘要: Optional 可选值 是 Swift 的一大特色,也是 Swift 初学者最容易困惑的问题 定义变量时,如果指定是 ,表示该变量 定义变量时,在类型后面添加一个 ,表示该变量是可选的 变量可选项的默认值是 常量可选项没有默认值,主要用于在构造函数中给常量设置初始数值 ... 阅读全文
posted @ 2015-12-22 19:56 MarkusFeng 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 定义 定义常量,一经赋值不允许再修改 定义变量,赋值之后仍然可以修改 swift //: 常量 //: 定义常量并且直接设置数值 let x = 20 //: 常量数值一经设置,不能修改,以下代码会报错 // x = 30 //: 使用 ,仅仅只定义类型,而没有设置数值 let x1:... 阅读全文
posted @ 2015-12-22 19:54 MarkusFeng 阅读(125) 评论(1) 推荐(0) 编辑