Я только что обновился до Xcode 9 и преобразовал свое приложение из Swift 3 в Swift 4. У меня есть графики, которые используют строки для маркировки осей и других переменных. Итак, у меня есть moneyAxisString = «Деньги». Раньше я мог рисовать их, используя этот код:
moneyAxisString.draw(in: CGRect(x: CGFloat(coordinateXOriginLT + axisLength/3), y: CGFloat(coordinateYOriginRT + axisLength + 5 * unitDim), width: CGFloat(300 * unitDim), height: CGFloat(100 * unitDim)), withAttributes: attributes as? [String : AnyObject])
Где атрибуты - это словарь, определенный следующим образом
attributes = [
NSAttributedStringKey.foregroundColor: fieldColor,
NSAttributedStringKey.font: fieldFont!,
NSAttributedStringKey.paragraphStyle: style
]
Теперь мое приложение не будет компилироваться, и я получаю сообщение:
Не удается преобразовать значение типа «[String : AnyObject]?» к ожидаемому типу аргумента '[NSAttributedStringKey: Any]?"