<分区>
我最近一直在关注指南,发现他们写了一行我以前从未见过,我不知道它叫什么,也不知道它是如何工作的。
let title: String = isPaused ? “开始”:“暂停”
所以属性 isPaused
的类型是 Bool,但是问号代表什么?当值可以是 Start
或 Pause
时,这是某种“switch”语句吗?
最后一个问题,这种操作到底叫什么?
谢谢!
<分区>
我最近一直在关注指南,发现他们写了一行我以前从未见过,我不知道它叫什么,也不知道它是如何工作的。
let title: String = isPaused ? “开始”:“暂停”
所以属性 isPaused
的类型是 Bool,但是问号代表什么?当值可以是 Start
或 Pause
时,这是某种“switch”语句吗?
最后一个问题,这种操作到底叫什么?
谢谢!
最佳答案
被称为三元运算符,不是Swift编程语言独有的特性,三元运算符是支持几乎所有主要编程语言,您可以在此处阅读 Ternary Operator Wikipedia Reference
基本上你在一行中做一个if else语句
这个 let title: String = isPaused ? "Start": "Pause"
等同于
let title: String
if isPaused {
title = "Start"
} else {
title = "Pause"
}
关于ios - swift 中的三元运算符这个 "?"符号是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50409712/
相关文章:
ios - 准备一个应用程序在没有自动布局的情况下在 3. 5'' 和 4'' 上运行
ios - 本地 iOS 语言翻译字符串及其语言代码标识 (LCID)
ios - RxAlamofire: retryWhen 掉进订阅 block
ios - 类型 'GKEntity' 的值没有成员 'componentForClass' 。为什么我在 swift 3.0 中找不到这个方法?
ios - 自定义 HealthKit HKQuantityType 标识符
ios - -[UITableView _endCellAnimationsWithContext :] when converting Objective-C to Swift 中的断言失败