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

SwiftUI中#Preview出现“AnimalListItemView初始化器结果未使用”警告的解决求助

SwiftUI中#Preview出现“AnimalListItemView初始化器结果未使用”警告的解决求助

嘿,别担心,这真的不是什么傻问题,很多刚用新Preview语法的开发者都会碰到这个小坑~咱们来一步步搞定它:

问题原因

你用的是SwiftUI新的#Preview宏,它要求闭包明确返回一个View实例。但你的Preview代码里有多行语句:先定义了animals常量,再创建AnimalListItemView。因为闭包里有多行代码,编译器没办法自动推断你要返回这个View,所以就把创建View的语句当成了“未使用的表达式”,抛出了警告。

解决方法

最直接的修复就是给View实例加上return关键字,让闭包明确知道要返回它:

#Preview {
    // 注意!这里文件名我改成了"animals.json",你之前写的是"animal.json"少了个s,会导致解码失败
    let animals: [Animal] = Bundle.main.decode("animals.json")
    return AnimalListItemView(animal: animals[1])
}

额外提醒

  1. JSON文件名一致性:你在Preview里写的是"animal.json",但之前的代码注释里都是"animals.json",如果你的实际JSON文件是复数命名的话,一定要改成一致,否则运行时会出现解码失败的崩溃。
  2. 硬编码内容修复:你的AnimalListItemView里的标题是硬编码的Text("Lion"),应该改成Text(animal.name),这样才能根据传入的animal显示对应的动物名称哦~

另外,你注释掉的旧版PreviewProvider写法其实也是完全可用的,如果你觉得新宏用着不习惯,也可以换回那个写法,它不会有这个返回值的问题。

备注:内容来源于stack exchange,提问作者Shubham B

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 07:03:14