Xcode中NSAttributedString.Key无font/paragraphStyle成员错误求助
解决NSAttributedString.Key成员提示错误的问题
以下是几个能解决这个Xcode代码提示误判问题的方法:
明确指定UIKit命名空间
由于SwiftUI和UIKit框架中都存在NSAttributedString相关定义,容易出现命名冲突导致Xcode提示错误。直接在使用时指定UIKit的命名空间即可:let textAttributes: [UIKit.NSAttributedString.Key: Any] = [ .font: UIFont.systemFont(ofSize: 18), .paragraphStyle: yourParagraphStyle ]或者可以先定义类型别名简化代码:
typealias UIAttributedKey = UIKit.NSAttributedString.Key let attributes: [UIAttributedKey: Any] = [ .font: UIFont.boldSystemFont(ofSize: 16), .foregroundColor: UIColor.black ]彻底清理Xcode缓存
有时候Xcode的缓存会导致代码提示异常,比单纯重启更彻底的清理步骤:- 打开Xcode,点击顶部菜单
Xcode→Settings→Locations,找到Derived Data选项,点击右侧箭头打开文件夹,删除里面所有内容 - 返回Xcode,按下
Cmd+Shift+K清理项目构建缓存,再按Cmd+Option+Shift+K清理构建文件夹 - 关闭Xcode后重新打开项目
- 打开Xcode,点击顶部菜单
检查导入语句与Build Settings
- 确保在使用
NSAttributedString.Key的文件中,import UIKit语句在import SwiftUI之前,避免类型推断混乱 - 确认项目的
Swift Language Version确实设置为Swift 5,且Target级别的设置没有覆盖项目全局设置 - 检查
Build Settings中的Other Swift Flags,移除可能干扰类型推断的异常参数
- 确保在使用
这种提示错误但编译运行正常的情况,本质是Xcode的代码提示引擎出现了误判,实际编译器能正确识别UIKit中的NSAttributedString.Key成员,所以执行不受影响。
内容的提问来源于stack exchange,提问作者Miracle Johnson
相关产品推荐
相关产品推荐

