objective-c - Swift 字符串格式与 Objective-C

标签 objective-c swift string stringwithformat

我正在使用 swift String(format:...) 并且需要使用三元运算符计算格式字符串本身中的值,类似这样但它不会编译。

 String(format: "Audio: \(numChannels>1?"Stereo": "Mono")")

在 Objective-C 中,我可以这样做:

 [NSString stringWithFormat:@"Audio: %@",  numChannels > 1 ? @"Stereo" : @"Mono"];

如何在没有中间变量的情况下在 Swift 中实现同样的优雅?

最佳答案

由于条件表达式中运算符周围缺少空格,编译器将 1?"Stereo" 错误解释为可选链接。应该是

String(format: "Audio: \(numChannels>1 ? "Stereo" : "Mono")")

相反。但是,由于格式字符串根本没有占位符,这相当于

"Audio: \(numChannels > 1 ? "Stereo" : "Mono")"

关于objective-c - Swift 字符串格式与 Objective-C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51807478/

相关文章:

python - 将 str 连接到列表的好方法?

python - Python 中的回显单词

android - VoIP 调用在不同的网络中不起作用(使用 PJSIP 和 Kamailio 服务器)

ios - Sprite Kit 停止播放音乐文件并从头开始播放

ios - 可以延迟 Today Extensions (iOS) 上的功能执行

swift - Swift 1.2 中的单例模式

c - "Copy string from array to array"使用指针的函数

objective-c - 释放实例 | "Malloc_history cannot examine process XYZ because the process does not exist."

ios - 设置两个动态标签之间的距离

ios - 禁用 UIScrollView 手势