SwiftUI 你必須知道的10個(gè)子視圖的限制Argument passed to call that takes no arguments

先來(lái)看看下面的代碼

1、正常的代碼,可以運(yùn)行

struct ContentView: View {
    
    var body: some View {
        
            Group {
                Text("1")
                Text("2 ")
                Text("3 ")
                Text("4 ")
                Text("5 ")
                Text("6 ")
                Text("7 ")
                Text("8 ")
                Text("9 ")
                Text("10 ")
                //Text("11 ")
            }
    
    }
}

2、會(huì)提示編譯錯(cuò)誤的代碼

struct ContentView: View {
    
    var body: some View {
        
            Group {
                Text("1")
                Text("2 ")
                Text("3 ")
                Text("4 ")
                Text("5 ")
                Text("6 ")
                Text("7 ")
                Text("8 ")
                Text("9 ")
                Text("10 ")
                Text("11 ")
            }
    
    }
}

build時(shí)會(huì)出現(xiàn)下面的錯(cuò)誤

Argument passed to call that takes no arguments

真正的原因

xcode的提示實(shí)在是太莫名其妙了,我通過(guò)查看文檔才發(fā)現(xiàn)。SwiftUI 的container是有數(shù)量限制,具體限制多少呢。文檔里面沒(méi)有寫(xiě)明(也可能是我們沒(méi)有找到),但是文檔下面的buildblock沒(méi)有超過(guò)10的

有圖有真相

后來(lái)我又google一下,果然有這個(gè)限制。

受影響的其他容器

下面的容器都是有10個(gè)對(duì)象的限制

  • VStack
  • HStack
  • ZStack
  • Group
  • List
  • 未來(lái)的容器

為什么有這個(gè)限制

我認(rèn)為應(yīng)該是apple不希望我們創(chuàng)建過(guò)于復(fù)雜的單頁(yè)視圖,希望我們盡快進(jìn)行模塊劃分。

參考資料

推薦

基礎(chǔ)文章推薦

經(jīng)典教程推薦

技術(shù)源碼推薦

推薦文章

CoreData篇

Combine篇

TextField篇

JSON文件篇


一篇文章系列

技術(shù)交流

QQ:3365059189
SwiftUI技術(shù)交流QQ群:518696470

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容