最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SwiftUI?List在MacOS中的性能優(yōu)化示例

 更新時(shí)間:2022年09月03日 14:22:38   作者:liaoWorkin  
這篇文章主要為大家介紹了SwiftUI?List在MacOS中的性能優(yōu)化示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

List在iOS中有懶加載的特性,但是在MacOS中會(huì)一次性加載完List中的所有的數(shù)據(jù)。并沒(méi)有懶加載的特性。

所以在MacOS的List中當(dāng)數(shù)據(jù)量巨大時(shí),會(huì)存在巨大的性能瓶頸。

  var body: some View {
    List(){
        ForEach(currentSectionModel) { (sectionModel) in
            Section(header:
                        HStack {
                Text("section")+Text(sectionModel.word).font(.title).foregroundColor(.red)
                        }.frame(height:35)
            ) {
              ForEach(currentSectionModel, id: \.self) { (wordModel) in
                  Text(wordModel.word)
                }
            }
        }
    }

當(dāng)數(shù)據(jù)量達(dá)到15000條時(shí), 在16寸i9的mbp上加載時(shí)長(zhǎng)需要4.53s

這個(gè)時(shí)候建議使用 ScrollView + LazyVStack(macOS 11, iOS14支持)

ScrollView {
    LazyVStack {
    }
}

來(lái)獲取巨大性能提升

  var body: some View {
    ScrollView {
        LazyVStack {
            ForEach(currentSectionModel) { (sectionModel) in
                Section(header:
                            HStack {
                    Text("section")+Text(sectionModel.word).font(.title).foregroundColor(.red)
                            }.frame(height:35)
                ) {
                  ForEach(currentSectionModel, id: \.self) { (wordModel) in
                      Text(wordModel.word)
                    }
                }
            }
        }
    }.onAppear {
        DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) {
            currentSectionModel = storeData
        }
    }
}

實(shí)測(cè)加載15000 條數(shù)據(jù)加載時(shí)長(zhǎng)為31ms 加載時(shí)長(zhǎng)為原來(lái)的 0.0068倍。 因?yàn)橹患虞d了顯示的部分,所以性能提升巨大。

以上就是SwiftUI List在MacOS中的性能優(yōu)化示例的詳細(xì)內(nèi)容,更多關(guān)于SwiftUI List性能優(yōu)化MacOS的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Swift?中的?RegexBuilder學(xué)習(xí)指南

    Swift?中的?RegexBuilder學(xué)習(xí)指南

    這篇文章主要為大家介紹了Swift中的RegexBuilder學(xué)習(xí)指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • swift 4自定義UITableCell的方法示例

    swift 4自定義UITableCell的方法示例

    這篇文章主要給大家介紹了關(guān)于swift 4自定義UITableCell的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-06-06
  • Swift實(shí)現(xiàn)堆排序算法的代碼示例

    Swift實(shí)現(xiàn)堆排序算法的代碼示例

    堆排序(HeapSort)是一樹(shù)形選擇排序,堆排序的時(shí)間復(fù)雜度O(nlogn),這里我們來(lái)看一下Swift實(shí)現(xiàn)基堆排序算法的代碼示例,首先對(duì)堆排序算法的基本概念作一個(gè)了解:
    2016-06-06
  • 關(guān)于Swift 4.1中的Codable改進(jìn)詳解

    關(guān)于Swift 4.1中的Codable改進(jìn)詳解

    這篇文章主要給大家介紹了關(guān)于Swift 4.1中的Codable改進(jìn)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • 快速排序算法在Swift編程中的幾種代碼實(shí)現(xiàn)示例

    快速排序算法在Swift編程中的幾種代碼實(shí)現(xiàn)示例

    快速排序是一種不穩(wěn)定的排序,存在著優(yōu)化空間,這里我們來(lái)看快速排序算法在Swift編程中的幾種代碼實(shí)現(xiàn)示例:
    2016-07-07
  • Swift函數(shù)提前返回實(shí)例詳解

    Swift函數(shù)提前返回實(shí)例詳解

    函數(shù)相當(dāng)重要的,下面這篇文章主要給大家介紹了關(guān)于Swift函數(shù)提前返回的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • Swift中動(dòng)態(tài)調(diào)用實(shí)例方法介紹

    Swift中動(dòng)態(tài)調(diào)用實(shí)例方法介紹

    這篇文章主要介紹了Swift中動(dòng)態(tài)調(diào)用實(shí)例方法介紹,在Swift中有一類很有意思的寫(xiě)法,可以讓我們不直接使用實(shí)例來(lái)調(diào)用這個(gè)實(shí)例上的方法,而是通過(guò)類型取出這個(gè)類型的某個(gè)實(shí)例方法的簽名,然后再通過(guò)傳遞實(shí)例來(lái)拿到實(shí)際需要調(diào)用的方法,需要的朋友可以參考下
    2015-01-01
  • 通過(guò)示例分析Swift單例模式

    通過(guò)示例分析Swift單例模式

    這篇文章主要介紹了通過(guò)示例分析Swift單例模式的三種方法,分別是全局變量,內(nèi)部變量,dispatch_once方式,有需要的小伙伴可以參考下。
    2015-06-06
  • Swift?指針底層探索分析

    Swift?指針底層探索分析

    這篇文章主要為大家介紹了Swift?指針底層探索分析,主要包括指針的基本使用,以及指針的內(nèi)存綁定進(jìn)行詳細(xì)分析,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • swift3.0指紋解鎖的實(shí)現(xiàn)方法

    swift3.0指紋解鎖的實(shí)現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了swift3.0指紋解鎖的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03

最新評(píng)論

乌海市| 博湖县| 浙江省| 象州县| 文安县| 东光县| 东丽区| 清新县| 乡宁县| 西乌珠穆沁旗| 兴仁县| 垦利县| 峡江县| 沈阳市| 农安县| 廊坊市| 沽源县| 泗洪县| 北票市| 霍城县| 手游| 仙游县| 汉寿县| 龙口市| 彩票| 通城县| 溧水县| 卢氏县| 雷州市| 乐昌市| 黑龙江省| 吐鲁番市| 丹寨县| 大足县| 漳浦县| 崇明县| 甘谷县| 黄梅县| 江阴市| 桃江县| 姚安县|