You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SwiftUI报Cannot find 'systemName' in scope错 如何条件切换SFSymbols图标

你代码报错的核心原因是Image(systemName:)的参数标签使用方式不符合Swift语法规范,你把systemName:拆分写到了三元运算符的两个分支里,编译器无法识别合法的参数结构。

正确写法是将systemName:参数标签统一放在三元表达式外层,把图标名称的判断逻辑整体作为参数传入即可:

Image(systemName: aQuestion.upVoters.contains("Foo") ? "shift.fill" : "shift")

额外优化说明:判断字符串数组是否包含指定元素时,不需要写完整的contains(where:)闭包,直接调用contains(_ element: String)方法写法更简洁,运行效果完全一致。

内容的提问来源于stack exchange,提问作者N.Armada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 08:18:01