美文网首页
2.Swift基础

2.Swift基础

作者: LucXion | 来源:发表于2021-07-10 11:30 被阅读0次
  • 通过变量来进行存储,通过变量名来关联值

  • 高阶类型:元组

  • 用可选值来处理值缺失的情况

  • 数值型字面量

    let binaryInteger = 0b10001       // 二进制的17
    let octalInteger = 0o21           // 八进制的17
    let hexadecimalInteger = 0x11     // 十六进制的17
    
    let decimalDouble = 12.1875  // 都是 12.1875
    let exponentDouble = 1.21875e1
    let hexadecimalDouble = 0xC.3p0
    
    let paddedDouble = 000123.456  // 添加额外的零和下滑线不会影响值
    let oneMillion = 1_000_000
    let justOverOneMillion = 1_000_000.000_000_1
    
  • 可选值

    • 除了对象类型,基本C类型、结构体、枚举也可以 = nil

    • 与OC不同,nil在Swift中不是一个不存在的对象指针,而是一个具体的值,代表值缺失

    • 可选值的解析:

      • if 语句和 强制解析

        if (name != nil){ // 可以用== 、!=
           print(name!)// 确定有值时可以用 !
        }
        
      • 可选绑定 if 、guard 、while

        If-let ,绑定的常量可以作用于if-let第一个分支

        let num1 = "abc",num2 = "123"
        if let count1 = Int(num1),var count2 = Int(num2),count2 > count1 && count2 < 100 {
            // 可选绑定,可以包含多个可选绑定、多个布尔条件,只有有一个为false,那么就不会走 if语句的第一个分支
        }
        
      • 隐式可选类型解析

        let opName:String? = "abc"
        let resolutionName:String! = opName
        let name:String = resolutionName
        
        print(name,resolutionName,opName)
        // abc Optional("abc") Optional("abc")
        
  • 错误处理

    func makeASandwich() throws {
    }
    do {
        try makeASandwich()
        eatASandwich()
    } catch SandwichError.outOfCleanDishes {
        washDishes()
    } catch SandwichError.missingIngredients(let ingredients) {
        buyGroceries(ingredients)
    }
    
  • 断言和先决条件

    断言帮助你在开发阶段找到错误和不正确的假设,先决条件帮助你在生产环境中探测到存在的问题。

    // 断言 (只会在开发环境下执行,对生产环境不会造成影响)
    let age = 3
    assert(age > 0,"年龄不能为负数")
    assertionFailure("在其他地方做过条件判断,这里可以直接用fail断言")
    
    // 先决条件precondition 
    
    

相关文章

  • 2.Swift基础

    通过变量来进行存储,通过变量名来关联值 高阶类型:元组 用可选值来处理值缺失的情况 数值型字面量let binar...

  • 2.swift中open,public,fileprivate,

    2.swift 中关于open ,public ,fileprivate,private ,internal,修饰...

  • 1. swift 和OC 比较

    typealias 和 OC的typedef 2.Swift中的Any 与 AnyObject、AnyClass ...

  • iOS swift 和 oc 使用的区别

    1.OC 代码时候 Inherit Module From Target 不能选 2.swift 代码的时候 In...

  • Swift基础-02

    1.Swift中switch基本用法 关于 switch的特殊用法 2.Swift中区间 CountableRan...

  • iOS开发之Block

    1.OC中 2.Swift中 3.案例一block回调 UMengShareManage调用testFunctio...

  • swift语言笔记

    1.Swift输出语句print 不换行println 换行 2.Swift运算符print(“a”+”b...

  • 2.Swift学习之初探

    Playground是什么? 从Xcode6开始出现(Swift开始出现) 翻译为:操场/游乐场 对于学习Swif...

  • 2.Swift - 变量和常量

    2.1字符串输出的几种形式:(1). + (2).( ) (3).""" 2.2数组和字典

  • 九月第三周

    九月第三周 1.Swift 可选代理实现: 2.Swift设置“#if/#else/#endif”: https:...

网友评论

      本文标题:2.Swift基础

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