使用 SwiftUI+Combine 的数据库延迟加载

Posted

技术标签:

【中文标题】使用 SwiftUI+Combine 的数据库延迟加载【英文标题】:Database lazy load using SwiftUI+Combine 【发布时间】:2020-08-13 07:17:08 【问题描述】:

我有一个数据库。我想显示数据库的内容。 最明显的解决方案:

@State var items = Array(1...100)

List(items, id: \.self) 
     Text("Item \($0)")
 

但是,如果我有数万/数十万条记录怎么办?延迟加载的基本方法是什么?

【问题讨论】:

这是否回答了您的问题:***.com/a/58122702/12299030? 有一篇很好的读物与这个主题有点相关:vadimbulavin.com/infinite-list-scroll-swiftui-combine @Asperi 在你的情况下,我们应该创建一个消耗内存的假数组 【参考方案1】:

在 SwiftUI 2.0 中有 LazyVStackLazyHStack 供您使用,看看https://developer.apple.com/documentation/swiftui/lazyhstack

【讨论】:

以上是关于使用 SwiftUI+Combine 的数据库延迟加载的主要内容,如果未能解决你的问题,请参考以下文章

使用 Combine 和 SwiftUI 在 Realm 中观察收集结果

SwiftUI + Combine:如何将数据分配给带有动画的模型

Combine + SwiftUI 中的最佳数据绑定实践?

swiftui combine 无法获取数据 [关闭]

SwiftUI ObjectBinding 不会使用 combine 接收来自可绑定对象的 didchange 更新

使用 Combine 和 SwiftUI 显示变化值的最简洁方式是啥?