VisionOS中SwiftUI Charts报错:'buildExpression'要求Chart遵循View协议
解决SwiftUI中Chart不遵循View协议的报错问题
你遇到的报错翻译成中文是:静态方法'buildExpression'要求'Chart'遵循'View'协议
以下是几个可行的解决方向:
- 确认项目部署版本:SwiftUI原生
Chart仅支持iOS 16.0+、macOS 13.0+、watchOS 9.0+、tvOS 16.0+,检查项目的部署目标是否符合要求。 - 排查框架冲突:如果你的项目中同时引入了第三方
Charts库,会和系统原生的Charts框架产生命名冲突。此时可以通过明确指定系统框架的方式导入:import struct Charts.Chart,或者移除不需要的第三方库。 - 清理Xcode缓存:执行
Cmd+Shift+K清理构建文件夹,再重新编译项目,缓存问题可能导致类型识别异常。 - 检查命名冲突:如果你自己定义了名为
Chart的结构体、类或其他类型,会覆盖系统的Chart,需要重命名自定义类型。
修正后的示例代码(本身逻辑无问题,确保环境符合要求即可运行):
import SwiftUI import Charts struct StockView: View { var body: some View { Chart { BarMark( x: .value("部门", "财务"), y: .value("利润", 300000) ) } } } #Preview { StockView() }
内容的提问来源于stack exchange,提问作者rkatakam
相关产品推荐
相关产品推荐

