如何在 SwiftUI 中创建 struct LazyList?

2023-12-10

我使用 ScrollView+LazyVStack+ForEach 而不是标准列表。

如何围绕这个制作包装?

struct ContentView: View {
    
    @State private var items = ["1", "2", "3"]
    var body: some View {
       LazyList(data: items) { item in
         
       }
    }
}

我尝试了这段代码:

import SwiftUI

public struct LazyList<Data, ID, Content> where Data : RandomAccessCollection, ID : Hashable {

    public var data: Data
    public var content: (Data.Element) -> Content
    
    var body: some View {
        ScrollView {
            LazyVStack(spacing: 0) {
                ForEach(data, content: content)
            }
        }
    }

Error:

Type of expression is ambiguous without more context

2021,SwiftUI 2

苹果在于wwdc20-10031当告诉 List 是懒惰的时候。

MacOS 上的列表并不懒惰。

(iOS 不知道)

关于这个问题。你的代码是错误的。这必须有效:

public struct LazyList<Data, ID, Content> where Data : RandomAccessCollection, Data.Element: Identifiable, ID : Hashable, Content: View {

    public var data: Data
    public var content: (Data.Element) -> Content
    
    var body: some View {
        ScrollView {
            LazyVStack(spacing: 0) {
                ForEach(data, content: content)
            }
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 SwiftUI 中创建 struct LazyList? 的相关文章

随机推荐

  • 使用 NEVPNManager 创建个人 VPN 连接

    我正在尝试在我的应用程序中创建 VPN 连接 我通过这个链接https developer apple com documentation networkextension nevpnmanager但没有找到任何使用NEVPNManager
  • html css 等于 div 高度

    我有一个容器 div 其中并排包含 2 个动态高度 高度尚未设置 div 这 2 个 div 是内容 div 有时一个 div 的内容比另一个 div 的内容多 导致与另一个 div 的距离更长 而那些两个 div 具有不同的颜色 为了具有
  • Python 中的 HTML 文件解析

    我有一个很长的 html 文件 看起来完全像这样 html文件 我希望能够解析该文件 以便获得 tuple 表单中的信息 Example tr td Cech td td Chelsea td td 30 td td 6 4 td tr 上
  • 计算字符串中子字符串出现的次数

    如何计算 Python 字符串中给定子字符串出现的次数 例如 gt gt gt foo bar foo numberOfOccurrences foo 2 To get indices of the substrings see How t
  • 如何在 R 中求 5 分钟间隔的总和

    我有一个数据集 其中包含 6 个不同站点每分钟的降水量记录 我想对每个电台每 5 分钟进行一次汇总 这些是我的数据集的前 5 行 总共 17280 行 P alex P hvh P merlijn P pascal P thurlede P
  • Python加载带有UTF-8 BOM头的json文件

    我需要解析其他工具生成的文件 该工具无条件输出带有 UTF 8 BOM 标头 EFBBBF 的 json 文件 我很快发现这就是问题所在 因为 Python 2 7 模块似乎无法解析它 gt gt gt import json gt gt
  • 绘制 Windrose:制作浓度设置为颜色的污染玫瑰

    尝试绘制风玫瑰图 其中绘制了速度和方向 浓度决定了颜色 不幸的是 matplotlib 仅支持两个变量 可以制作一个很好的散点图来显示我想要的内容 但不确定如何将其分类 以便它像所附图像一样 Halliday et al 2016 应转换为
  • 拦截窗口窃取 Windows 全局焦点的尝试

    我是一名开发人员和长期 Windows 用户 痴迷于让我的系统尽可能方便使用 昨天 我想到了 Windows 中一直让我烦恼并且我认为理所当然的事情 我意识到我对它如何工作有更好的想法 我现在想知道是否有可能调整 Windows 以使其工作
  • 让用户在 IOS swift 中的应用程序外部保存 pdf

    我制作了一个 PDF 并将其保存在我的应用程序中 但我想让用户将 PDF 文档保存在我的应用程序外部的目录中 抱歉英语不好 我来自瑞士 格式化程序中的标记文本 这很重要吗 我必须使用它来做什么 我认为 UIGraphicsBeginPDFC
  • 如何使用asio库获取IP地址的主机名?

    我正在尝试从 UDP 端点获取主机名 不过我不知道boost asio是否支持IP gt 主机名转换 有人可以回答我的问题吗 获取姓名信息就是你想要的 getnameinfo sockaddr addr sizeof addr hostna
  • 使用Django向前端传递JSON数据

    如果一般使用 Django 框架或 Python 有没有办法将 JSON 对象传递到 Web 模板的前端 例如 如果我想发送一个具有两个数组作为属性的对象 假设xvalues and yvalues 我如何能够使用 JavaScript 或
  • 用于生产的 Browserify/Babelify React(NODE_ENV 生产)

    我运行这个命令 browserify src js t babelify presets react gt build js 我得到了一个可以自己使用的文件 工作正常 但它的 NODE ENV 设置为开发 我得到一个关于下载 React D
  • 如何配置 Git 以信任来自 Windows 证书存储区的证书?

    目前我的目录中有以下条目 gitconfig在我的用户目录中 http sslCAInfo C Users julian lettner ssh git test pem 这设置了与 git 服务器交互时要使用的证书 我公司的 git 服务
  • Fluent NHibernate Child 集合持久化问题

    我有以下映射类 仅复制相关部分 public class CardTemplateMapping ClassMap
  • 在 Angular 中派生类型化 FormGroup 的值的类型

    使用 Angular 中新的类型化表单控件 我们可以做到这一点 interface MyFormGroup id FormControl
  • 添加 unicode 时出现编译时错误 \u0022

    我试图使用 unicode 在字符串中添加双引号 但是当我这样做时 我收到编译时间错误 String unicCode u0022 This line gives a compile time error 我得到的编译错误是 字符串文字未正
  • jface tableviewer 中的多行功能或换行文本功能

    我有一个 jface tableviewer 表 其中列中的数据仅出现在一行中 即使它是长文本 如果文本超过一定限制 我想要表格的换行文本功能或多行功能 有人可以帮我解决这个问题吗 请参阅此 SWT 片段在表项中绘制多行文本还有这个JFac
  • 如何从变量模板字符串中提取动态对象并再次将其合并?

    我有一根绳子 该字符串是在运行时从文件中提取的 可以是任何格式 其格式如下例所示 唯一的规则是括号内的单词必须转换为属性dynamic对象及其向用户询问的值 可能通过使用 winformsPropertyGrid or an ObjectL
  • C++单元测试框架[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我对 C 代码使用 Boost Test 框架 但它有两个问题 这可能是所有 C 测试框架所共有的 无法创建自动测试存根 例如 通过从选定的类中提取公共函数 您不能运行单个测试 您必
  • 如何在 SwiftUI 中创建 struct LazyList?

    我使用 ScrollView LazyVStack ForEach 而不是标准列表 如何围绕这个制作包装 struct ContentView View State private var items 1 2 3 var body some