0.1 Swift开发体验

2016-07-16  本文已影响21人  wayne_YU

0.1.1 Playground开发体验

    // 创建一个view
    let v = UIView(frame: CGRect(x: 100, y: 100, width: 100, height: 100))

    // 给view 添加颜色
    v.backgroundColor = UIColor.redColor()
    
    // 添加view
    view.addSubview(v)
    
    // 创建一个按钮
    let button = UIButton(type: .ContactAdd)
    
    // 添加点击事件
    button.addTarget(self, action: "buttonClick", forControlEvents: UIControlEvents.TouchUpInside)
    
    // 添加button
    v.addSubview(button)

0.1.2 项目开发体验

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    
    // 创建一个View
    let v = UIView(frame: CGRect(x: 100, y: 100, width: 100, height: 100))
    
    // 给View添加背景颜色
    v.backgroundColor = UIColor.redColor()
    
    // 添加view
    view.addSubview(v)
    
    // 创建一个按钮
    let btn = UIButton(type: UIButtonType.ContactAdd)
    
    // 添加点击事件
    btn.addTarget(self, action:Selector("buttonClick"), forControlEvents: UIControlEvents.TouchUpInside)
    
    // 添加button
    v.addSubview(btn)
}

func buttonClick(){

    print("按钮被点击了")

}
}

小结:

在 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

上一篇下一篇

猜你喜欢

热点阅读