Я перемещаю некоторый код из Swift 4.0 в 4.2, и у меня возникают проблемы с использованием UIAccessibilitySpeechAttributePitch.В моем файле Swift 4.0 я использовал:
NSAttributedStringKey(rawValue: UIAccessibilitySpeechAttributePitch)
Даже в Swift 4.0 я не мог использовать его напрямую как NSAttributedStringKey.accessibilitySpeechPitch
, по некоторым причинам, но я мог обойтичто при инициализации с использованием необработанного значения.Кажется, я не могу сделать это в Swift 4.2.
Если я попытаюсь
NSAttributedString.Key(rawValue: UIAccessibilitySpeechAttributePitch)
в Swift 4.2, я получу
Неверный инициализаторВызов с тем же типом NSAttributedString.Key, что и параметр
, поэтому очевидно, что UIAccessibilitySpeechAttributePitch
распознается как NSAttributedString.Key
.Однако, если я использую его напрямую, я получаю:
'UIAccessibilitySpeechAttributePitch' был переименован в 'NSAttributedString.Key.accessibilitySpeechPitch'
с предлагаемым исправлением
Заменить «UIAccessibilitySpeechAttributePitch» на «NSAttributedString.Key.accessibilitySpeechPitch»
Поэтому я нажимаю кнопку «исправить», чтобы изменить ее на NSAttributedString.Key.accessibilitySpeechPitch
, и затем я получаю
Тип «NSAttributedString.Key» не имеет члена «accessibilitySpeechPitch»
Если я нажимаю команду на UIAccessibilitySpeechAttributePitch
без предварительного изменения его на NSAttributedString.Key.accessibilitySpeechPitch
, я получаю это объявлениев UIAccessibilityConstants в UIKit:
extension NSAttributedString.Key {
//other stuff
@available(iOS 7.0, *)
public static let accessibilitySpeechPitch: NSAttributedString.Key
//other stuff
}
Итак, он, очевидно, существует, но как мой код может его использовать?Нужно ли мне импортировать что-то дополнительное для констант доступности, в дополнение к UIKit?
Редактировать: Мой фактический код (с измененными только некоторыми именами переменных) выглядит следующим образом:
static let someColour=#colorLiteral(red: 1, green: 0.5763723254, blue: 0, alpha: 0.5)
static let attributes=[
NSAttributedString.Key.backgroundColor: someColour,
NSAttributedString.Key.strokeWidth: -3.0,
NSAttributedString.Key.accessibilitySpeechPitch: 1.3
]
as [NSAttributedString.Key : Any]
Iпробовал чистое здание.Я использую Xcode Version 10.0 (10A255)