Skip to content

SwiftUI编程思想

[!abstract] SwiftUI编程思想

  •  SwiftUI编程思想|200
  • 书名: SwiftUI编程思想
  • 作者:
  • 简介:
  • 出版时间
  • ISBN:
  • 分类:
  • 出版社:
  • 出版社:
  • bookId: CB_0Lw7LU7Mi5x56st6sv85z4LU

高亮划线

视图构建器

  • 📌 所有像 Stack 和Grid 这样的容器视图,以及像 background 和 overlay 这样的修饰器中,都采⽤了视图构建器闭包来创建它们的⼦视图。此外,所有视图的 body 属性都被隐式标注了@ViewBuilder,ViewModi!er 协议的 body(content:) ⽅法也是如此 ^CB-0Lw7LU7Mi5x56st6sv85z4LU-3-3049-3266
    • ⏱ 2024-12-19 12:56:03

动态内容

  • 📌 Group (以及它的修饰器) 当作 ScrollView 的根视图或者唯⼀⼦视图时,Group 的⾏为就会和 VStack 很像,修饰器也不再会被应⽤到 Group 中每个单独的视图中去。这条规则还有另外⼀个例外,那就是将 Group 放到 overlay 或者background ⾥,这时候它表现得会像是⼀个 ZStack。 ^CB-0Lw7LU7Mi5x56st6sv85z4LU-4-474-704

    • ⏱ 2024-12-19 13:03:36
  • 📌 在 SwiftUI ⼤多数地⽅使⽤的是不透明的返回类型some View,这个不透明类型实际上对视图的确切结构进⾏了编码,把复杂的嵌套类型隐藏了起来。视图的类型会准确地指出视图树中哪部分是静态的,哪部分是动态的,这让SwiftUI 可以完全了解哪些视图可能会被动态地插⼊和删除。 ^CB-0Lw7LU7Mi5x56st6sv85z4LU-4-2103-2244

    • ⏱ 2024-12-19 13:04:51

生命周期

  • 📌 当⼀个节点被从渲染树中移除时,它所关联的状态也会全部消失 ^CB-0Lw7LU7Mi5x56st6sv85z4LU-6-1260-1288
    • ⏱ 2024-12-19 13:08:01

身份标识

  • 📌 即使实在懒加载的 stack 中,渲染树中的节点在离开屏幕后也还是会被保留,以维持它们的状态 ^CB-0Lw7LU7Mi5x56st6sv85z4LU-7-909-955

    • ⏱ 2024-12-19 13:10:15
  • 📌 task 是前⾯两者与异步操作的结合。这个修饰器在 onAppear 会被调⽤的时间点创建⼀个新的异步任务 (task),并在 onDisappear 将被调⽤的时候取消这个任务。 ^CB-0Lw7LU7Mi5x56st6sv85z4LU-7-2211-2383

    • ⏱ 2024-12-19 13:11:55

读书笔记

视图构建器

划线评论

  • 📌 SwiftUI 使⽤⼀种特殊的视图构建器 (view builder) 语法来构建视图的列表。视图构建器是建⽴在 Swift 的结果构建器(result builder) 特性之上的,这个特性是专⻔为了构建视图才被添加到语⾔中的 ^37417557-7WykaWoyl
    • 💭 新版swift引入了 repeat each (parameter pack)避免写冗长的重载代码
    • ⏱ 2024-12-19 12:54:39

划线评论

  • 📌 这会为视图列表中的每个元素添加边框,也就是说,图⽚和⽂本都拥会有各⾃的边框。我们经常会在使⽤ Group 时遇到这个⾏为,它所抽象的其实是⼀个和布局⽆关的视图构建器 ^37417557-7WykGC8bH
    • 💭 tupleview和Group行为类似

    • ⏱ 2024-12-19 13:02:27

本书评论