В Apple Работа с фреймворками Какао это выглядит так, как будто платформы Foundation и Swift Foundation работают вместе через мост. Однако я заметил, что при попытке использовать метод класса NSSpeechSynthesizer availableVoices () он позволяет мне получить возвращенный массив NSStrings, но не Strings.
Это компилируется и работает просто отлично:
let voices = NSSpeechSynthesizer.availableVoices as [NSString]
print(voices)
Однако это не скомпилируется:
let voicesTwo = NSSpeechSynthesizer.availableVoices as [String]
Почему это не сработает, если документация voiceName показывает, что VoiceName является строковым свойством?
Я вижу термин «rawValue» в документации VoiceName, и есть ли причина, связанная с тем, что это своего рода перечисление?