码迷,mamicode.com
首页 > 编程语言 > 详细

swift—初始 (3)

时间:2015-06-05 06:14:46      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

循环

OC风格的 for

技术分享

Swift风格的 for

技术分享
  • 阶段性小结
    • Swift 中使用 in 关键字标示循环的范围
    • 0..<10 表示从0到9
    • 0...10 表示从0到10
    • 注意之间不能出现空格

特殊写法

技术分享
  • 阶段性小结
    • 如果不关心循环本身的索引,可以使用 _ 忽略
    • 这一技巧在之前的分支演练中出现过

 

字符串

在 Swift 中绝大多数的情况下,推荐使用 String 类型

使用 String 的原因

  • String 是一个结构体,性能更高
    • String 目前具有了绝大多数 NSString 的功能
    • String 支持直接遍历
  • NSString 是一个 OC 对象,性能略差
  • Swift 提供了 String 和 NSString 之间的无缝转换

遍历字符串

技术分享

字符串拼接

技术分享
  • 阶段性小结
    • 直接在 "" 中使用 \(变量名) 的方式可以快速拼接字符串
    • 我和我的小伙伴再也不要考虑 stringWithFormat 了 :D

格式化字符串

技术分享
  • 阶段性小结
    • 在实际开发中,如果需要指定字符串格式,可以使用 String(format:...) 的方式
    • 注意:后面的参数需要放在一个数组中

String & Range 的结合

以下是超级费劲的代码

技术分享

建议写法

技术分享 

数组

简单体验

技术分享
// 像 OC 一样打印
println(arr as NSArray)

数组中保存的对象类型

技术分享
  • 阶段性小结
    • 数组使用 [] 定义,这一点与 OC 相同
    • 如果初始化时,所有内容类型一致,择数组中保存的是该类型的内容
    • 如果初始化时,所有内容类型不一致,择数组中保存的是 NSObject

常见数组操作

技术分享
  • 阶段性小结
    • 如果定义数组时指定了保存对象的类型,择不能向数组中添加其他类型的内容
    • 可以使用 [String]()
    • let 定义的数组是不可变的
    • var 定义的数组是可变的

字典

技术分享

 

函数

简单演练

技术分享
  • 阶段性小结
    • 函数定义格式:func 函数名(参数: 参数类型...) -> 返回值 { // 代码实现 }
    • 如果没有返回值, -> 返回值 可以省略
    • -> 是一个很有意思的符号
    • 默认情况下,在调用函数时,第一个参数名是省略的

参数名的特殊处理

强制要求参数名

技术分享

省略参数名

技术分享

闭包的循环引用

技术分享

 

懒加载

技术分享

  • 格式:
技术分享
  • 懒加载的写法本质上是定义并执行一个闭包

 

 

getter & setter

自定义 Person 类

技术分享

getter & setter

  技术分享

  • 在 Swift 中以上形式的 getter & setter 很少用

didSet

  • 在 OC 中,我们通常希望在给某一个变量赋值之后,去做一些额外的操作
  • 最经典的应用就是在自定义 Cell 的时候,通过模型的设置方法完成 Cell 的填充
技术分享

计算型属性

技术分享
  • 只实现 getter 方法的属性被称为计算型属性,等同于 OC 中的 ReadOnly 属性
  • 计算型属性本身不占用内存空间
  • 不可以给计算型属性设置数值
  • 计算型属性可以使用以下代码简写
技术分享

构造函数

技术分享

析构函数

技术分享

 

 

swift—初始 (3)

标签:

原文地址:http://www.cnblogs.com/duaozhitou/p/4553527.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!