首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LazyVStack,SwiftUI的性能问题

LazyVStack,SwiftUI的性能问题
EN

Stack Overflow用户
提问于 2020-10-05 11:08:34
回答 1查看 3K关注 0票数 5

我有一个大概100行的视图:

代码语言:javascript
复制
ForEach(moodEntries.reversed(), id: \.self) { entry in
                        Button(action: {
                            self.activeMoodForModal = moodEntries.lastIndex(of: entry) ?? 0
                            self.showMoodModal.toggle()
                        }) {
                            MoodTableViewCard(entry: entry)
                        }

                    }.sheet(item: $activeMoodForModal) { item in
                        MoodEntryModalView(entry: moodEntries[item], saveNote: {
                            do {
                                try context.save()
                            } catch {
                                print(error)
                            }
                        })
                    }

性能真的很差:当我打开这个视图时,整个应用程序会在模拟器上冻结3秒。如果我将ForEach更改为List,那么一切都可以正常工作,所以我认为延迟加载将解决我的问题。但是我不想搞乱列表,所以我试着把上面提到的所有代码都放在LazyVStack { }中,但是没有什么用:代码的性能和以前一样糟糕。LazyVStack真的比List差得多吗?还是我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2020-10-09 15:38:32

LazyVStack根本不重用单元格,所以不管您做什么--它在滚动时仍然会滞后。如果您的元素比适合屏幕的元素多,并且布局比Text("Hello")更复杂,请使用List

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64207443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档