'迭代时不能对不可变值使用变异 getter:'self' 是不可变的'?

2024-04-25

有谁知道为什么self.indexCount in the ForEach给出了错误Cannot use mutating getter on immutable value: 'self' is immutable错误?我可以提供aView with indexCount,但是不太方便。我不会改变indexCount。这是 SwiftUI 的错误还是故意的?

struct aView: View {
    let array: [[String]]
    lazy var indexCount: Int = array[0].count

    var body: some View {
        VStack {
            ForEach(0..<self.indexCount, id: \.self) { index in
                Text("Hello World")
           }
        }
    }
}

这是故意的。在 SwiftUI 中,仅@State变量可以改变。你不能使用lazy var像那样。将其替换为计算属性:

var indexCount : Int { array[0].count }

无论如何,这更好,因为它总是正确的:indexCount永远是current大小array[0]), 然而your方式,该值将冻结在任何count is the first获取它的时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

'迭代时不能对不可变值使用变异 getter:'self' 是不可变的'? 的相关文章

随机推荐

  • 如何将谓词与包含的属性一起包含在内?

    目前 我有一个函数 允许我查询数据库 同时在结果中包含一些其他相关表 以防止返回数据库 否则如果我不这样做 我知道会发生这种情况 public class EntityRepository
  • 如何拦截来自 iframe 的 http 请求?

    我以编程方式在网页中设置 iframe 的 URL 我必须知道此 URL 更改会触发哪些 http 请求 CSS 脚本 图像等加载的 URL 我拦截了 XMLHttpRequest 但这个对象从未被调用过 如何拦截这些http请求 是否有另
  • Node.js (Express) 带有路由器的错误处理中间件

    这是我的应用程序结构 app js routes index js The ExpressJS应用程序创建错误处理程序development and production环境 这是来自的代码片段app js app use routes r
  • 物化滑动选项卡在模态中不起作用

    我遇到了一个奇怪的问题 我在物化选项卡上使用滑动 当我在没有模式的情况下滑动时 它工作正常 但是当我将它们包含在模式中时 滑动功能不再工作 document ready function modal modal tabs tabs swip
  • 如何获取可公开访问的 crashlytics 报告 url?

    我想与一些第三方分享我的 crashlytics 崩溃报告 如何获得如下所示的可公开访问的网址 http crashes to s 419b5b28766 http crashes to s 419b5b28766 我是新来的 这是一个旧的
  • SchedPolicy:set_timerslack_ns 写入失败:不允许操作

    当我运行 Android 应用程序时 我在 Logcat 中遇到了这个问题 有谁知道这个问题以及如何解决它 依赖项是 implementation com android support appcompat v7 25 3 0 implem
  • 32x8 寄存器文件 VHDL 测试台

    我已经用 vhdl 编写了该电路的汇编代码 我想用测试台来模拟它 RegWrite 1 位输入 时钟 写寄存器个数 3位输入 写地址 写入数据 32 位输入 数据输入 读取 寄存器编号 A 3 位输入 读取地址 读取寄存器编号 B 3 位输
  • Spring Cloud 配置服务器无法使用本地属性文件

    我一直在玩弄位于此处的 github 上的 Spring Cloud 项目 https github com spring cloud spring cloud config https github com spring cloud sp
  • redis-cli 重定向到 127.0.0.1

    我在PC1上启动Redis集群 然后在PC2上连接它 当需要重定向到另一个集群节点时 它会显示Redirected to slot 7785 located at 127 0 0 1 但应该显示Redirected to slot 7785
  • 壁纸更换事件

    我可以在广播接收器中获取壁纸更改事件吗 我需要检测用户是否更改了壁纸 我怎样才能做到呢 我正在做的是这样的 我有一个可以自动更改壁纸的应用程序 如果用户使用不同的应用程序手动更改它 我想注意到它并询问用户是否要将新壁纸添加到我的应用程序的列
  • Kafka 消费者通过 JMX 滞后

    我正在尝试监控 Kafka 0 10 中消费者组的滞后情况 我们的消费者在 Kafka 而不是 ZooKeper 中跟踪他们的偏移量 这意味着我可以使用以下方式获取数据 bin kafka consumer groups sh bootst
  • 如何在 QScrollArea() 之上显示 QPropertyAnimation()?

    1 Intro 我工作于Python 3 7在 Windows 10 上并使用PyQt5对于图形用户界面 在我的申请中 我得到了一个QScrollArea 里面有一系列按钮 单击时 按钮必须移到该区域之外 我用一个QPropertyAnim
  • Spark Shell 监听本地主机而不是配置的 IP 地址

    我正在尝试通过 Spark Shell 运行一个简单的 Spark 作业 它看起来像 Spark shell 的 BlockManager 侦听本地主机而不是配置的 IP 导致 Spark 作业失败的地址 抛出的异常是 无法连接到本地主机
  • 尝试从 Delphi 打开 Excel 或 Word 时出现“接口不受支持”错误

    当使用旧的 Delphi 代码将一些文本输出到 Excel 或 Word 时 我在一台机器上遇到了 接口不支持 错误 我怎样才能解决这个问题 问题是计算机上以前版本的 Excel 未正确卸载 为了修复它 我使用了遵循指示 http soci
  • 启动日志“未找到事务管理器”

    当我启动jetty时 日志中出现以下行 INFO oejpw PlusConfiguration No Transaction manager found if your webapp requires one please configu
  • JavaScript/jQuery - offsetLeft 和 offsetTop

    当鼠标悬停在跨度上时 我想获取 offsetLeft 和 offsetTop 值 以便我可以将某些东西悬停在它附近 当我这样做时 两个值都为 0 有什么更好的方法来解决这个问题 我正在使用 jQuery 假设我开始 由服务器端脚本循环 sp
  • 基类和派生类中的数据成员相同

    我是 C 编程新手 我正在阅读继承概念 我对继承概念有疑问 如果基类和派生类具有相同的数据成员 会发生什么 另外请仔细阅读我的代码 如下所示 include stdafx h include
  • Flutter - 带有 SafeArea 的系统栏颜色

    我正在尝试添加SafeArea带有彩色系统栏的 flutter 应用程序的小部件 但不知何故它们总是变黑 override Widget build BuildContext context SystemChrome setSystemUI
  • powershell函数输出到变量

    我在 powershell 2 0 中有一个名为 getip 的函数 它可以获取远程系统的 IP 地址 function getip strComputer computername colItems GWMI cl Win32 Netwo
  • '迭代时不能对不可变值使用变异 getter:'self' 是不可变的'?

    有谁知道为什么self indexCount in the ForEach给出了错误Cannot use mutating getter on immutable value self is immutable错误 我可以提供aView w