it-roy-ru.com

Тип "NSAttributedStringKey" (он же "NSString") не имеет члена "font"

Только что обновил pod для xcode 9, и я получаю ошибку ниже для Cosmos .

 enter image description here

Тип «NSAttributedStringKey» (он же «NSString») не имеет члена «font»

37
Chaudhry Talha

Примечание. Убедитесь, что версия вашего проекта на языке Swift. Вот как вы можете увидеть/проверить свою версию языка Swift.

enter image description here


У вас есть два варианта решения вашего запроса:

  1. Если у вашего проекта Swift versio 4.0
    - Вы должны выбрать/загрузить POD, совместимый с языком Swift вашего проекта (Поделитесь информацией о POD и версией Swift, чтобы я мог предоставить вам точную версию pod для вашей библиотеки pod, подходящую для проекта).

  2. Если ваш проект имеет версию Swift ниже 4.0
    - Вам нужно перенести свой проект в Swift 4.0 (если вы его не перенесли). Вот реф вопрос и ответ, как перейти с Swift (ниже) <4.0 на 4.0.


Согласно тегу, добавленному вами в вашем вопросе - Swift3 - это текущая языковая версия вашего проекта, а модуль 'Cosmos', '~> 12.0' поддерживает Swift 4.

pod 'Cosmos', '~> 12.0'

Вот список предыдущих выпусков, поддерживающих версию Swift ниже 4.0.

https://github.com/evgenyneu/Cosmos/releases

Попробуйте предыдущий выпуск космоса как: 

pod 'Cosmos', '~> 11.0.3'
// or
pod 'Cosmos', '~> 11.0.1'
// or
pod 'Cosmos', '~> 11.0.0

'

40
Krunal
 attributes: [NSFontAttributeName: label.font]

с Swift 3.2 . все в порядке, я исправил библиотеку viewcontroller с пейджинговым меню.

19
Ace

В моем случае Я заменяю этот код 

[NSAttributedStringKey.font : font]

по коду ниже

.size(attributes: [NSFontAttributeName : font])

Надеюсь, поможет.

14
Avinash Mishra

Вам необходимо обновить версию Swift до 4.0 из Xcode.

Используйте ниже шаг

1) Выберите ваш проект у менеджера проекта (слева вверху от Xcode)
2) Выберите Настройки сборки
3) Поиск "Swift language"
4) Изменить "Swift Language Version" => Swift 4.0

10
iPatel
let label = UILabel()
label.font = UIFont.preferredFont(forTextStyle: .subheadline)
0
HafizAnser