SwiftUI编程思想
[!abstract] SwiftUI编程思想
- 书名: 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