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

SwiftUI如何调用函数为LazyVGrid填充视图内容

你需要借助SwiftUI的@ViewBuilder结果构建器能力实现,不需要返回数组,正确的row函数写法如下:

@ViewBuilder
func row(text: String) -> some View {
    Text(text)
    Text(text)
}

原理解释

  • Swift默认的函数只能返回单个返回值,加上@ViewBuilder修饰符后,函数就可以遵循ViewBuilder的结果构建规则,自动将多个View元素打包为符合要求的隐式返回类型
  • LazyVGrid的内容闭包本身就是被@ViewBuilder修饰的,所以调用这个返回多View的函数完全符合其入参要求,渲染效果和你直接将两个Text写在LazyVGrid闭包中完全一致

如果你的行逻辑需要加入条件判断、循环等控制流,在@ViewBuilder修饰的函数中可以直接使用普通Swift控制流语法,不需要手动处理类型兼容问题。

内容的提问来源于stack exchange,提问作者drekka

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:15:02