跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 刚开始学 ios 开发,有个 Swift 语法不明白,求各位大大帮忙解释解释
未分類
24 10 月 2020

刚开始学 ios 开发,有个 Swift 语法不明白,求各位大大帮忙解释解释

刚开始学 ios 开发,有个 Swift 语法不明白,求各位大大帮忙解释解释

資深大佬 : oukichi 3

语法教程上说,swift 中的结构体是需要运行一下才能跑起来的。但是下面这一段代码为什么可以把语句直接放在大括号里呢?

struct ContentView: View {     var body: some View {         VStack{             Text("Hello, world!") //直接放在了大括号里                 .padding()             Text("Hello, world!") //而且可以随意放很多个                 .padding()         }     } } 

请问:

  1. 这两个 Text()可以理解为参数吗?
  2. 这个结构体什么时候被实例化的呢?
  3. 如何写一个可以接受任意个参数的结构体呢?
  4. 这种直接写在大括号里的写法有专有名词吗?如果有的话请告诉我吧,我可以拿这个关键词进行搜索。

谷歌了一下没找到相关答案,于是发来 V2 求助,谢谢各位的解答,好人一生平安~

大佬有話說 (4)

  • 資深大佬 : ch3nz

    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

  • 資深大佬 : FutherAll

    Swift 为 SwiftUI 搞了一堆语言特性,感觉太臃肿了

  • 主 資深大佬 : oukichi

    @ch3nz 谢谢大哥!非常有帮助!

  • 資深大佬 : ruzztok

    我看完 swift 语法概览再看这个 hello world 也是懵

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具