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

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

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

引言

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

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

  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條時, 在16寸i9的mbp上加載時長需要4.53s

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

ScrollView {
    LazyVStack {
    }
}

來獲取巨大性能提升

  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í)測加載15000 條數(shù)據(jù)加載時長為31ms 加載時長為原來的 0.0068倍。 因?yàn)橹患虞d了顯示的部分,所以性能提升巨大。

以上就是SwiftUI List在MacOS中的性能優(yōu)化示例的詳細(xì)內(nèi)容,更多關(guān)于SwiftUI List性能優(yōu)化MacOS的資料請關(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)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-06-06
  • Swift實(shí)現(xiàn)堆排序算法的代碼示例

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

    堆排序(HeapSort)是一樹形選擇排序,堆排序的時間復(fù)雜度O(nlogn),這里我們來看一下Swift實(shí)現(xiàn)基堆排序算法的代碼示例,首先對堆排序算法的基本概念作一個了解:
    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)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • 快速排序算法在Swift編程中的幾種代碼實(shí)現(xiàn)示例

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

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

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

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

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

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

    通過示例分析Swift單例模式

    這篇文章主要介紹了通過示例分析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)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03

最新評論

湟源县| 城口县| 峡江县| 阜新市| 剑河县| 江西省| 资中县| 凉山| 磐石市| 六安市| 酉阳| 桃园县| 来安县| 清远市| 宁陵县| 宣城市| 长沙市| 大悟县| 大冶市| 玉环县| 博白县| 宁国市| 克东县| 明水县| 分宜县| 隆回县| 宜兴市| 甘孜| 湘潭县| 哈尔滨市| 临汾市| 两当县| 电白县| 临江市| 岚皋县| 浏阳市| 阳曲县| 旺苍县| 山西省| 德兴市| 长白|