SwiftUI一招让List巨量数据刷新UI速度快100+倍

在这里插入图片描述



问题现象

SwiftUI中,若List中包含大量数据,当更新数据时界面会发生严重卡顿。

前两张图分别演示了在2k条数据下,未优化时需要8.29秒,而优化后只需要0.07秒,相差有118倍之多。

后两张图演示了在2w和10w条数据下,优化后的表现。可以看到即使数据达到10w条,更新也不会超过1秒钟,可谓相当惊人。



问题分析

1. List数据变化时List如何刷新?

SwiftUI中使用的是“差异”比较的方式来刷新界面。

因为SwiftUI是以状态驱动的,所有的数据更新都会自动触发U

大熊猫侯佩 CSDN认证博客专家 Swift Objective-C Xcode
非自由程序员,CSDN博客认证专家。
CSDN汇编板块版主, CSDN其他开发语言大版版主。

对App、以及Cocos2D、SpriteKit游戏开饶有兴趣。目前常用的语言是ObjC、Swift、Ruby等。不过看到编程艺术、ASM、逆向和C时依然欲罢不能。虽然不是,但喜欢黑客的思维和哲学,认为社会工程学很酷,但还没有实际用来撩过妹。
更好的应用,更少的代码! SwiftUI是苹果主推的下一代用户界面搭建技术,具有声明式语法、实时生成界面预览等特性,可以为苹果手机、苹果平板、苹果电脑、苹果电视、苹果手表五个平台搭建统一的用户界面。 SwiftUI是一种创新、简单的iOS开发中的界面布局方案,可以通过Swift语言的强大功能,在所有的Apple平台上快速构建用户界面。 仅使用一组工具和API为任何Apple设备构建用户界面。 SwiftUI具有易于阅读和自然编写的声明式Swift语法,可与新的Xcode设计工具无缝协作,使您的代码和设计**同步。自动支持动态类型、暗黑模式、本地化和可访问性,意味着您的**行SwiftUI代码已经是您编写过的非常强大的UI代码了。 【课程特点】 1、196节大容量课程:包含了SwiftUI的大部分知识点,详细讲解SwiftUI的方方面面; 2、15个超级精彩的实例:包含美食、理财、健身、教育、电子商务等各行业的App实例; 3、创新的教学模式:手把手教您SwiftUI用户界面开发技术,一看就懂,一学就会; 4、贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标; 5、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并节省您宝贵的时间; 6、视频短小精悍:即方便于您的学习和记忆,也方便日后对功能的检索; 7、齐全的学习资料:提供所有课程的源码,在Xcode 11 + iOS 13环境下测试通过;
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页
实付 39.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值