zoukankan      html  css  js  c++  java
  • Swift Bool 解包判断问题和简单写法

    如下代码所示的判断逻辑,在 Swift 里更简单的写法是什么呢?

    let b: Bool? = false // 假设有一个 Optional 的 Bool 变量
    if let a = b {
        if b == false {
            call()
        }
    } else {
        call()
    }

    以上代码表示需要先解包、如果失败,或者解包成功并且值为false,都调用一个方法。

    在 OC 里因为没有解包所以一般的写法是这样:

    if (!b) {
        call();
    }


    那swift中有没有简单易懂的写法呢?

     其实熟悉了Swift 再回头来看这个问题就比较清楚了,只要明白 b? 只有可能为三个值就行了,分别是 nil/true/false,问题是需要拦截到 nil 和 false 两个条件即可,所以表达式可以这么写。

     

    if b == nil || b ==  false {
        call()
    }
    or
    
    if !(b ?? false) {
        call()
    }
  • 相关阅读:
    Notepad++
    pycharm
    pygame游戏开发-简介
    白月黑羽Python在线教程
    Selenium Web自动化 原理
    Web自动化
    Web自动化
    转:Android开发环境搭建
    Android系统架构说明介绍
    Enjoy Android
  • 原文地址:https://www.cnblogs.com/allen123/p/5959577.html
Copyright © 2011-2022 走看看