• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ios > SwiftBool解包判断问题

SwiftBool解包判断问题

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了解包时出现问题,解程序包时出现问题,比例法解行程问题,列方程解行程问题,用欧拉法解初值问题等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: Swift Bool 解包判断问题
描述:

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

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

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

在 OC 里因为没有解包所以一般的写法是这样,但是转换到 swift 来直接蒙蔽了...求解惑!

if (!b) {
    call();
}

解决方案1:

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

if b == nil || b ==  false {
    call()
}

or

if !(b ?? false) {
    call()
}

解决方案2:

guard b == true else {
    call()
}

解决方案3:

if boolean ?? false {
    ...
}


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • SwiftBool解包判断问题

相关文章

  • 2017-06-05 cocoapods无法更新
  • 2017-06-05 蓝牙app审核需要提供硬件吗?
  • 2017-06-05 navigationbarNavigationBar上的按钮将会失灵
  • 2017-06-05 iOS远程推送ios客户端推送注册失败
  • 2017-06-05 iOS的webview加载出来的H5网页,怎么修改html标签select的样式字体?
  • 2017-06-05 iOS基础控件iOS--关于使用NSTimer实现滚动条
  • 2017-06-05 iOS中的tableview的cell与headerview重叠了,咋办?
  • 2017-06-05 直播时视频和音频不同步怎么办
  • 2017-06-05 iOS基础控件关于iOS设置代理问题
  • 2017-06-05 90后小伙带90元徒步走中国自定义相机存入相册旋转了90度如何加解决

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • weexWXSDKInstance类中有个reload方法加载界面偶尔失败
    • 为什么的swift写的一个只是webview的app体积有56M这么大,我应该怎么编译缩小体积?
    • 百度手机地图离线地图包官方下载百度地图的poi如何调用
    • (swift)为什么anyobject不能回传nil又是型态的问题
    • TableView表单数据源连接
    • IOSswift非底部标签页tabs如何做?
    • IOS授权文件安卓与ios音频文件互通实现?
    • 异形x异种入侵IOSSEGV_ACCERR异常
    • 大家做相册选取那个都怎么做的?有好的框架吗?
    • 京东商城淘宝网首页淘宝京东首页刷新原理

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有