首页 > 代码库 > Swift 开发快速体验

Swift 开发快速体验

目标

  • playground 快速体验 & 学习资源分享
  • 项目开发快速体验,了解 Swift 基本程序结构

学习资源

  • 苹果官方博客 https://developer.apple.com/swift/blog/
  • 苹果官方 Swift 2.0 电子书 https://itunes.apple.com/us/book/id1002622538
  • 2.0 中文版 http://wiki.jikexueyuan.com/project/swift/
  • 100个Swift必备tips,作者王巍,建议购买电子书 http://onevcat.com

一,Playground

技术分享

技术分享

  • Playground 是 Xcde 6 推出的新功能
  • 创建工程编写和运行程序,目的是为了编译和发布程序
  • 而使用 Playground 的目的是为了:
    • 学习代码
    • 实验代码
    • 测试代码
  • 并且能够可视化地看到运行结果
  • 另外,使用 Playground 只需要一个文件,而不需要创建一个复杂的工程

快速体验

let btn = UIButton(type: UIButtonType.ContactAdd)let view = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))view.backgroundColor = UIColor.lightGrayColor()btn.center = view.centerview.addSubview(btn)print(view)print(view.subviews)

提示

  • 官方提供的一些学习资源是以 playground 的形式提供的
  • 建立一个属于自己的 playgound 文件,能够在每次版本升级时,第一时间发现语法的变化

二,项目开发体验

目标

  • 熟悉 Swift 的基本开发环境
  • 与 OC 开发做一个简单的对比

代码实现

class ViewController: UIViewController {    override func viewDidLoad() {        super.viewDidLoad()        // swift 中 () 代替 oc 中的 alloc / init        let v = UIView(frame: CGRect(x: 0, y: 20, width: 100, height: 100))        // [UIColor redColor];        v.backgroundColor = UIColor.redColor()        // 按钮        let btn = UIButton(type: .ContactAdd)        v.addSubview(btn)        // 监听方法        btn.addTarget(self, action: "click:", forControlEvents: .TouchUpInside)        view.addSubview(v)    }    func click(btn: UIButton) {        print("点我了 \(btn)")    }}

小结

  • 在 Swift 中没有了 main.m@UIApplicationMain 是程序入口
  • 在 Swift 中只有 .swift 文件,没有 .h/.m 文件的区分
  • 在 Swift 中,一个类就是用一对 {} 括起的,没有 @implementation 和 @end
  • 每个语句的末尾没有分号,在其他语言中,分号是用来区分不同语句的,在 Swift 中,一般都是一行一句代码,因此不用使用分号

  • 与 OC 的语法快速对比

    • 在 OC 中 alloc / init 对应 ()
    • 在 OC 中 alloc / initWithXXX 对应 (XXX: )
    • 在 OC 中的类函数调用,在 Swift 中,直接使用 .
    • 在 Swift 中,绝大多数可以省略 self.,建议一般不写,可以提高对语境的理解(闭包时会体会到)
    • 在 OC 中的 枚举类型使用 UIButtonTypeContactAdd,而 Swift 中分开了,操作热键:回车 -> 向右 -> .Swift 中,枚举类型的前缀可以省略,如:.ContactAdd,但是:很多时候没有智能提示
    • 监听方法,直接使用字符串引起
    • 在 Swift 中使用 print() 替代 OC 中的 NSLog

Swift 开发快速体验