web-dev-qa-db-ja.com

タイプ 'NSAttributedStringKey'(別名 'NSString')にはメンバー 'font'がありません

Xcode 9のポッドを更新しましたが、 Cosmos で次のエラーが表示されます。

enter image description here

タイプ 'NSAttributedStringKey'(別名 'NSString')にはメンバー 'font'がありません

38
Chaudhry Talha

注:プロジェクトのSwift言語バージョンを確認してください。 Swift言語バージョンを表示/確認する方法は次のとおりです。

enter image description here


クエリの解決策として2つのオプションがあります。

  1. プロジェクトにSwift versio 4.0がある場合
    -プロジェクトのSwift言語と互換性のあるPODを選択/ダウンロードする必要があります(POD情報とSwiftバージョンを共有してください。プロジェクトに適したポッドライブラリ)。

  2. プロジェクトにSwiftバージョンが4.0未満の場合
    -プロジェクトをSwift 4.0に移行する必要があります(移行していない場合)。参照の質問と回答、Swift(以下)<4.0から4.0への移行方法を示します。


質問で追加さ​​れたタグによると、Swift3は現在のプロジェクト言語バージョンであり、ポッド「Cosmos」、「〜> 12.0」はSwiftをサポートしています4。

pod 'Cosmos', '~> 12.0'

以下は、4.0より前のSwiftバージョンをサポートする以前のリリースのリストです。

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

コスモスの以前のリリースを試してみてください:

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

'

43
Krunal
 attributes: [NSFontAttributeName: label.font]

Swift 3.2では問題ないようです。ページングメニューのviewcontrollerライブラリを修正しました。

19
Ace

私の場合、このコードを置き換えます

[NSAttributedStringKey.font : font]

以下のコードで

.size(attributes: [NSFontAttributeName : font])

それが役に立てば幸い。

14
Avinash Mishra

XcodeからSwiftバージョン4.0へを更新する必要があります。

以下のステップを使用

1)プロジェクトマネージャーからプロジェクトを選択(Xcodeの左上)
2)ビルド設定を選択します
3)「Swift言語」を検索します
4)「Swift言語バージョン」の変更=> Swift 4.0

11
iPatel
let label = UILabel()
label.font = UIFont.preferredFont(forTextStyle: .subheadline)
1
HafizAnser