【iOS13+Swift5.1+Xcode11~SwiftUI】Closure containing a declaration cannot be used

Closure containing a declaration cannot be used with function builder 'ViewBuilder'

HStack{
            //...
            let lebus = "iOS超级大讲师"
            //...
        }
复制代码

错误缘由:

SwiftUI中StackView(HStack,VStack,ZStack)的底层目前只支持if和else语句,若是在StackView里面写了 let 等其余语句,编译器就会报上述错误。bash

(之后说不定会支持)ui

解决方法:

把除了if,else以外的语句想办法放在body外面的某个计算属性里面。spa

相关文章
相关标签/搜索