zoukankan      html  css  js  c++  java
  • Swift的可选的和可选链

    1、可选的:使用可选(optional)来处理值可能缺失的情况,可选表示-有值,等于x 或者没有值

    var str:string?="aaaaaaaaaaaaa" //str是一个可以设置nil的string
    enum Optional
    {
    case None
    case Some
    }
    str=nil
    let i:int? //如果声明的时候不赋值,默认就是nil

    str:startIndex//会报错,因为此时str不是一个真正的string,所有没有startIndex
    //两种情况解决Optional的问题
    //第一种str!.startIndex //强制变为string
    //第二种optionalbinding
    if let s=str
    {
    print("\(s)")
    }else
    {
    print("str 是nil值")
    }
    var str2:string!="ssss"//称之为隐私的解封(implicitly unwrapped)
    str2=nil

    str2.starIndex

    2、可选链:有以下几点

    1、可选链一定要是可选才行,

    2、返回的重视一个可选的

    3、可以设置值(不仅仅是访问)

    4、可以访问方法即时无返回值

    案例如下:

    class person
    {
    var ci:classInfo?
    }
    class classInfo
    {
    var t:Teacher?
    }
    class Teacher
    {
    var name="cj"
    }
    let p=Person()
    let t=Teacher()
    let ci=ClassInfo()
    ci.t
    p.ci=ci
    p.ci?t?.name="double zhang"
    p.ci.t?.name
    p.ci!.t!.name //可以强制解封
    if let n=p.ci?.t?.name
    {
    //也可以用可选绑定
    }

  • 相关阅读:
    java获取年份的后两位
    jdbcTemplate的Dao层封装
    beta准备
    福大软工 · 第十一次作业
    Alpha 冲刺 (10/10)
    Alpha 冲刺 (9/10)
    Alpha 冲刺 (8/10)
    Alpha 冲刺 (7/10)
    Alpha 冲刺 (6/10)
    Alpha 冲刺 (5/10)
  • 原文地址:https://www.cnblogs.com/tyty/p/4937327.html
Copyright © 2011-2022 走看看