在Swift 我该怎么做?

(someboolexpression ? "Return value 1" : "Return value 2")

(不,我还没有读完整个手册……我可能错过了第2页的内容!)

好的,它在第91页,上面看起来是正确的.但是我试着用这样的字符串:

println(" some string \(some expression ? "Return value 1" : "Return value 2")"

但编译器并不高兴.如果可能的话,你知道吗?

这是我所能做到的最接近的

let exists = "exists"
let doesnotexist= "does not exist"

println("  something \(fileExists ? exists : doesnotexist)")

推荐答案

如果您正在寻找一个单行程序来实现这一点,那么可以从字符串插值中提取?:操作,并用+连接:

let fileExists = false // for example
println("something " + (fileExists ? "exists" : "does not exist"))

输出:

有些东西不存在

Swift相关问答推荐

防止NavigationLink自行返回导航视图

在`NavigationStack`中使用`SafeAreaInset`修饰符时出现SwiftUI异常行为

按SWIFT中每个ID的最大值进行筛选/排序

修改数组中每个类实例的属性

String.Index encodedOffset已弃用,但建议的替代方案不起作用

如何在SWIFT Memory中处理对VAR数组的更新(对COW感到困惑)

如何写一个;风格;视图修饰符,它会影响特定类型的所有嵌套视图?

如何判断设备是否为 Vision Pro - Xcode 15 Beta 4

Swift数据关系

根据其属性组合 2 个模型以在 Swift 中创建另一个模型

确定路径是否相交的有效方法

如何在 UITableView 中点击图片和标题

SwiftUI:异步网络请求后@State 值不更新

Swift-如何接受多个(联合)类型作为参数

试图同时实现两个混合过渡

单元测试和私有变量

在 Swift 4 中,如何删除基于块的 KVO 观察者?

Swift 3:日期与 NSDate?

Swift 中的 CommonHMAC

Void 函数中意外的非 Void 返回值 (Swift 2.0)