语法教程上说,swift 中的结构体是需要运行一下才能跑起来的。但是下面这一段代码为什么可以把语句直接放在大括号里呢?
struct ContentView: View {
var body: some View {
VStack{
Text("Hello, world!") //直接放在了大括号里
.padding()
Text("Hello, world!") //而且可以随意放很多个
.padding()
}
}
}
请问:
谷歌了一下没找到相关答案,于是发来 V2 求助,谢谢各位的解答,好人一生平安~
1
ch3nz 2020-11-04 04:07:55 +08:00 2
VStack 是个 struct
完整的使用是这样的: ``` VStack(alignment: .center, spacing: nil, content: { Text("Placeholder") Text("Placeholder") }) ``` 所以 1 两个 Text 是参数 content 的值 2 外层 View 实例化的时候,它就实例化 3 content 的类型是 closure,所以不是 struct 有任意个参数,而是 content 可以是多个 closure 4 VStack 的定义中,content 被 @ViewBuilder 修饰 https://developer.apple.com/documentation/swiftui/viewbuilder |
2
FutherAll 2020-11-04 09:31:16 +08:00
Swift 为 SwiftUI 搞了一堆语言特性,感觉太臃肿了
|
4
ruzztok 2020-11-04 14:27:45 +08:00
我看完 swift 语法概览再看这个 hello world 也是懵
|
5
zhentivip 2021-03-16 12:08:55 +08:00
这个是界面语言,是基于 swift 魔改的。
|
6
zzyyqq 2022-04-19 06:00:47 +08:00
感觉这个是借鉴了 react 写网页的思路。 乱搞!
|