为什么不能将 NSSpeechsynthesier 的 class 方法 availableVoices 桥接到 Swift 字符串数组?

Why can't NSSpeechsynthesier's class method availableVoices be bridged to a Swift array of strings?

在 Apple 的 Working with Cocoa Frameworks 中,它看起来好像 Foundation 和 Swift Foundation 框架通过桥接一起工作。但是,我注意到在尝试使用 NSSpeechSynthesizer 的 class 方法 availableVoices() 时,它允许我接收到返回的 NSString 数组而不是 Strings.

编译并运行得很好:

let voices = NSSpeechSynthesizer.availableVoices as [NSString]
        print(voices)

然而这不会编译:

let voicesTwo = NSSpeechSynthesizer.availableVoices as [String]

如果 the voiceName documentation 显示 VoiceName 是一个字符串 属性 为什么这不起作用?

我在 VoiceName 文档中看到术语 'rawValue' 那么推理是否与某种枚举有关?

看起来 NSSpeechSynthesizer.VoiceNameEnumrawValueString。这与 成为 字符串不同。

尝试使用

NSSpeechSynthesizer.availableVoices.map { [=10=].rawValue }