Swift 基本语法01-Swift简介

作者: 一位不愿透露姓名的王先生_ | 来源:发表于2017-05-04 22:42 被阅读211次
    一个iOS开发初级菜鸡.png

    Swift 基本语法02-"let"和"var"
    Swift 基本语法03-"if let"和"guard let"
    Swift 基本语法04-"switch"和"for"
    Swift 基本语法05-"String"
    Swift 基本语法06-数组和字典

    Swift 简介

    1. Swift2014年06月WWDC大会发布
    • 2015年底开源
    • IBM开始用Swift做后台开发
    • Swift取消了预编译指令(包括宏,比如Masonry
    • 没有了中括号,和其它语言比较接近
    • 3.0 对于Foundation框架做了重大调整,去除了NS前缀
    • 将绝大部分Class转换为struct
    • 访问当前对象的属性,可以不用self.,建议:一般情况都不用。只有闭包的时候才去用
    • 取消了预编译指令
    • 自动推导:变量/常量的类型会根据=(等号)右侧代码执行结果,推导对应的类型
    • Swift 中对类型要求异常严格,不允许直接运算(不会做默认的隐式的转换,所有的类型确定,都由程序员负责)
    let x = 10
    let y = 10.5
    
    print(x + y)        // 会直接报错(Binary operator '+' cannot be applied to operands of type 'Int' and 'Double')
    print(x + Int(y))   // 这样不会报错,输出结果为`20`
    OC 中用类型强转->(int)y
    Swift 中Int(y)->结构体的构造函数
    Swift 中,不存在基本数据类型,都是结构体(考虑安全性和速度,统一做了语法的调整)
    

    1. Button 的创建

    // 创建按钮
    let btn = UIButton(type: .contactAdd)
    view.addSubview(btn)
    btn.center = view.center
    btn.addTarget(self, action: #selector(clickMe), for: .touchUpInside)
    
    // 按钮的点击事件
    func clickMe(btn:UIButton) -> () {
        print(#function)
        print(btn)
    }
    

    2. View 设置背景色

    let v = UIView(frame: CGRect(x: 0, y: 20, width: 100, height: 100))
    // 代码设置颜色
    v.backgroundColor = UIColor.red
    // 颜色选择器直接设置
    v.backgroundColor = #colorLiteral(red: 1, green: 1, blue: 0, alpha: 1)
    view.addSubview(v)
    
    2.1-设置颜色.png

    3. ImageView 设置图片

    let imageView = UIImageView(frame: CGRect(x: 0, y: 120, width: 100, height: 100))
    imageView.image = UIImage(named: "user")
    imageView.image = #imageLiteral(resourceName: "user")
    view.addSubview(imageView)
    
    3.1-设置ImageView的图片.png

    4. 小技巧

    // MARK: - XXXXXX
    
    4.1-标记(带横线).png
     // MARK: XXXXXX
    
    4.2-标记(不带斜线).png
    // FIXME: 准备修改XXXXXX
    
    06.png

    5. 可选项(Optional)

    • OptionalSwift的一大特色,也是Swift初学者最容易困惑的问题
    • 定义变量时,如果指定是可选的,表示该变量可以有一个指定类型的值,也可以是 nil
    • 定义变量时,在类型后面添加一个?,表示该变量是可选的
    • 变量可选项的默认值是nil
      常量可选项没有默认值,主要用于在构造函数中给常量设置初始数值
    • !代表强行解包 - 从可选值中强行获取对应的非空值,如果真的是nil,就会崩溃!程序员必须为每一个!负责
    let a: Optional = 10
    let b: Int? = 20
    
    print(a)        // Optional(10)
    print(b)        // Optional(20)
    
    print(a + b)    // 不能直接相加(Value of optional type 'Optional<Int>' not unwrapped; did you mean to use '!' or '?'?)
    print(a! + b!)  // 30

    相关文章

      网友评论

      本文标题:Swift 基本语法01-Swift简介

      本文链接:https://www.haomeiwen.com/subject/ornltxtx.html