fatbobman (东坡肘子) Profile Banner
fatbobman (东坡肘子) Profile
fatbobman (东坡肘子)

@fatbobman

6,302
Followers
345
Following
705
Media
2,968
Statuses

Exploring the joy of life & the thrill of sharing 🌟 Blog: Weekly: @fatbobman @mastodon .social

Dalian,China
Joined October 2008
Don't wanna be here? Send us removal request.
Pinned Tweet
@fatbobman
fatbobman (东坡肘子)
2 months
Common Misconceptions About SwiftUI
Tweet media one
1
1
12
@fatbobman
fatbobman (东坡肘子)
3 years
今天是2021年的最后一天,汇总了一下今年写的博客,合计40篇。 祝大家2022年平安、健康。
Tweet media one
7
25
289
@fatbobman
fatbobman (东坡肘子)
2 years
一些适合 SwiftUI 初学者的教程 每个人的技术背景、学习能力、工作经验都不一样,因此找到适合自己的学习方式和资料十分重要 本文将介绍一些对学习者技术基础要求较低( 甚至可以零基础 )的 SwiftUI 教程
9
68
258
@fatbobman
fatbobman (东坡肘子)
2 years
我目前正在使用的 AI 服务 随着 ChatGPT 的火爆,生活中好像突然之间到处都充满了有关人工智能的话题。尽管对新技术、新事物已没有那么的狂热,同时对 AI 也持有谨慎的态度,但并不影响我将一些 AI 服务应用到自己的工作中,丰富自己的工具箱,提高工作效率
9
64
221
@fatbobman
fatbobman (东坡肘子)
2 years
老人新兵 —— 一款 iOS APP 的开发手记 本文是 2020 年初,我在知乎上写的一篇文章。记录了我重新开始学习编程的一点心路历程。现在回看起来,但还蛮有意思的。 恰逢博客的文章数达到了 100 篇,将其搬运回来以提醒自己不忘初心。
7
30
226
@fatbobman
fatbobman (东坡肘子)
4 months
The zoom transition can be used not only in navigation containers but also on sheets and fullScreenCovers. When applied to a sheet, it ultimately displays in a fullscreen format.
4
7
235
@fatbobman
fatbobman (东坡肘子)
2 years
SwiftUI 的动画机制 大多初学者都会在第一时间惊叹于 SwiftUI 轻松实现各种动画效果的能力,但经过一段时间的使用后,他们会发现 SwiftUI 的动画并非像表面上看起来那样容易驾驭。本文将尝试对 SwiftUI 的动画机制做以介绍,以帮助大家更好地学习、掌握 SwiftUI 的动画。
Tweet media one
4
38
161
@fatbobman
fatbobman (东坡肘子)
2 years
有些人认为尽管用 #SwiftUI 布局十分高效,但它并不具备处理复杂布局的能力。 通常这是由于没有开发者没有充分理解 SwiftUI 的布局逻辑导致的。 下面的文章应该会增加你对布局机制的理解。 对齐 尺寸(一) 尺寸(二)
3
34
163
@fatbobman
fatbobman (东坡肘子)
2 years
开发者是聊天室中的一个网友 Jobs Hu。 从编程小白自学 Swift UI 到上线大概用了1个半月的下班时间。 效率相当的高。
9
28
151
@fatbobman
fatbobman (东坡肘子)
1 year
移植五周年 这几天在医院对身体各方面进行了一次比较全面的检查,结果比较令人满意。一转眼,接受肾移植已经 5 周年了,写一篇博文,对这些年的身体以及治疗情况进行了一个汇总
18
10
146
@fatbobman
fatbobman (东坡肘子)
2 years
诗片 —— AI 给照片匹配诗句 聊天室中另一个朋友的作品。有趣的产品。基于 SwiftUI。
Tweet media one
3
19
137
@fatbobman
fatbobman (东坡肘子)
1 year
VideoNotes —— 解决上网课做笔记困难的 App 简化视频截图、视频双链、视频文字识别、多种笔记类型 作者从零开始学怎么做 iOS app、写代码、设计 UI 界面,用时半年多,甚至影响了写 PhD 论文的进度。
Tweet media one
3
36
132
@fatbobman
fatbobman (东坡肘子)
2 years
虽然 SwiftUI 目前仍有很多不足,但确实降低了 iOS 的开发门槛,让更多的朋友具备了将想法转变成产品的能力。 昨晚聊天室中另一个朋友的应用上架了。他也是从 0 开始,在四个月内已经上架了两款应用。
Tweet media one
7
21
122
@fatbobman
fatbobman (东坡肘子)
6 months
玩个新东西。用 Swift 开发 MCU。体验还不错😀
8
1
115
@fatbobman
fatbobman (东坡肘子)
7 months
这是 @Haolun_Yang 开发的应用,通过交互的方式学习 SwiftUI 组件。 对 SwiftUI 学习者应该很有帮助,尤其他是从设计师的角度来解读。愿景是做一个设计师和开发者之间的桥梁。
3
17
112
@fatbobman
fatbobman (东坡肘子)
1 year
《A Day in the Life of a SwiftUI View》,这是 Chris Eidhof 在 Swift To 上做的演讲。 角度非常新颖,通过了一段简单的视图代码,从视图的声明、渲染、状态标识的维持、布局等众多方面勾勒出了一条脉络,涵盖创建、比对、重新评估、尺寸协商的一系列操作。非常值得一读
0
18
110
@fatbobman
fatbobman (东坡肘子)
5 months
有一个问题我想请教一下,ChatGPT-4o 比 4 快,比 4 便宜,比 4 限制少。 那么它是否有不如 4 的地方,否则为什么还要保留 4?
33
8
106
@fatbobman
fatbobman (东坡肘子)
1 year
深入了解 SwiftUI 5 中 ScrollView 的新功能 在 SwiftUI 5.0 中,苹果大幅强化了 ScrollView 功能。新增了大量新颖、完善的 API。本文将对这些新功能进行介绍,希望能够让它们更多、更早的帮助到有需要的开发者。 #SwiftUI #WWDC2023
4
19
104
@fatbobman
fatbobman (东坡肘子)
4 months
In iOS 18, SwiftUI has not only made it possible to use UIKit gestures directly but has also adjusted the underlying implementation of native gestures. Now, we can use native gestures directly on underlying UIKit-based components (such as List, Form, Map) without affecting the
2
2
101
@fatbobman
fatbobman (东坡肘子)
2 years
SwiftUI 4.0 的全新导航系统 SwiftUI 4.0( iOS 16+ 、macOS 13+ )对导航系统作出了重大改变,提供了以视图堆栈为管理对象的新 API ,让开发者可以轻松实现编程式导航。本文将对新的导航系统作以介绍。
1
17
89
@fatbobman
fatbobman (东坡肘子)
8 months
SwiftUI 为开发者提供了一系列属性包装器,极大地简化了开发过程。 我用了四篇文章梳理了截至 iOS 17 时期 SwiftUI 所提供的全部属性包装器,旨在帮助开发者更加高效和便捷地使用 SwiftUI。
8
17
90
@fatbobman
fatbobman (东坡肘子)
11 months
与 AI 结对编程 在过去的两周时间里,在 AI 的辅助下,我在一个不熟悉的开发环境中使用陌生的语言和框架启动了博客的重建工作。通过这次重建过程,我希望能够对新的语言和框架有一定的掌握。本文记录了我与 AI 一起工作的一些体会。
10
20
85
@fatbobman
fatbobman (东坡肘子)
3 years
SwiftUI 视图的生命周期研究 本文将作者对 SwiftUI 视图、 #SwiftUI 视图生命周期的理解和研究做以介绍,供大家一起探讨。
0
18
80
@fatbobman
fatbobman (东坡肘子)
2 years
使用双 Container + Persistent History Tracking 实现了可以实时切换 Core Data 的云同步状态。 下周的博文会做详细的说明
3
8
81
@fatbobman
fatbobman (东坡肘子)
1 year
深度解读 Observation —— SwiftUI 性能提升的新途径 在 WWDC23 中,苹果介绍了 Swift 标准库中的新成员:Observation 框架。它的出现有望缓解开发者长期面临的 SwiftUI 视图无效更新问题。本文将采取问答的方式,全面而详尽对 Observation 框架进行探讨 #WWDC23 #SwiftUI
3
15
81
@fatbobman
fatbobman (东坡肘子)
1 year
接到了腾讯云的 App 备案审核人员的电话。经沟通,类似我这种仅使用 iCloud 同步功能的 app ,无需备案。 备案申请已驳回 估计大多数个人开发者的应用都属于这种类型
@fatbobman
fatbobman (东坡肘子)
1 year
已提交备案,等待审核。待有结果后,再分享。
2
0
12
12
12
82
@fatbobman
fatbobman (东坡肘子)
4 months
zoom transition 不仅可以用在导航容器中,也可以用在 sheet 和 fullScreenCover 上。当应用在 sheet 时,其最终将以全屏的形态来展现。
4
3
79
@fatbobman
fatbobman (东坡肘子)
10 months
2023 年共写博客 34 篇。 英文读者阅读量最大的五篇( 根据 Medium 的统计): 深度解读 Observation —— SwiftUI 性能提升的新途径 深入了解 SwiftUI 5 中 ScrollView 的新功能 GeometryReader :好东西还是坏东西?
4
18
77
@fatbobman
fatbobman (东坡肘子)
3 years
实现 iOS 备忘录的扫描文稿功能 本文将介绍如何通过 VisionKit、Vision、NaturalLanguage、CoreSpotlight 等系统框架实现与备忘录扫描文稿类似的功能。
Tweet media one
4
16
73
@fatbobman
fatbobman (东坡肘子)
2 years
SwiftUI 布局 —— 尺寸( 上 ) 在 SwiftUI 中,尺寸这一布局中极为重要的概念,似乎变得有些神秘。无论是设置尺寸还是获取尺寸都不是那么地符合直觉。上篇中将从布局的角度入手,为你揭开盖在 SwiftUI 尺寸概念上面纱,了解并掌握 SwiftUI 中众多尺寸的含义与用法。
3
9
73
@fatbobman
fatbobman (东坡肘子)
3 years
在WWDC 2021上,苹果为开发者带来了有一个期待已久的功能——AttributedString,这意味着Swift开发人员不再需要使用基于Objective-C的NSAttributedString来创建样式化文本。本文将对其做全面的介绍并演示如何创建自定义属性。 AttributedString——不仅仅让文字更漂亮
Tweet media one
1
14
70
@fatbobman
fatbobman (东坡肘子)
7 months
这两篇文章介绍大量有关 Xcode Playground 的使用技巧,涉及稳定性、第三方库、资源管理、异步处理、文档标注等等方面,让你玩转 Playground,使其成为你工作学习中的利器。 Part One Part Two
Tweet media one
0
14
70
@fatbobman
fatbobman (东坡肘子)
5 months
去年,苹果公司推出的 SwiftData 为开发者带来了诸多惊喜,同时也要求开发者做出巨大的思维转变。在过去的一年里,我撰写了十余篇关于它的文章。对此感兴趣的朋友们可以在 WWDC24 举办前,浏览这些内容 文章列表 介绍 实战
Tweet media one
1
19
72
@fatbobman
fatbobman (东坡肘子)
4 months
在苹果提供的这段演示中,文字的特效能力主要来自于一个 SwiftUICore 的框架。这个框架提供了大量开发者长期想要的控制能力。里面有不少的 API 都做了向后兼容。由此可见,苹果转变了思维,不再对 SwiftUI 做更多的控制和封装,将更多的细节透露出来,并允许开发者直接使用。
3
11
72
@fatbobman
fatbobman (东坡肘子)
2 years
本来想在 #WWDC22 前将 Core Data 的批量操作简单总结一下,作为下篇博文。没想到一写就有点多了。又是一篇 5000 多字的文章。 明天发 : 如何在 Core Data 中进行批量操作
Tweet media one
2
4
70
@fatbobman
fatbobman (东坡肘子)
9 months
尽管我已经研究SwiftData几个月了,但直到最近才在项目中正式采用它。现在,我发现编写代码的速度远不如使用Core Data时快。当然,这并不是因为SwiftData难以使用。实际上,虽然SwiftData是基于Core Data发展而来的,但要正确使用和理解它,需要跳出我之前掌握的许多Core
3
7
70
@fatbobman
fatbobman (东坡肘子)
7 months
从 5 月 1 日开始,苹果规定,如果应用程序使用了特定的 API 或 SDK,则必须提供隐私清单。此代码段能帮助开发者检查他们的代码是否包含了苹果官方文档中所列出的必须说明原因的 API,并且能判断项目中是否已经包含了苹果所要求的 SDK。 作者是 kimbely0320
@fatbobman
fatbobman (东坡肘子)
7 months
肘子的 Swift 周报 #023 | 为应用配备隐私清单
0
3
12
1
16
69
@fatbobman
fatbobman (东坡肘子)
4 months
New SwiftUI Scroll Control API Announced at WWDC 2024 This article will explore these latest scroll control APIs and review the development of all significant APIs related to scroll control since the inception of SwiftUI
3
17
68
@fatbobman
fatbobman (东坡肘子)
3 years
SwiftUI Overlay Container 是一个用于 SwiftUI 的视图容器组件。 仅需简单配置,SwiftUI Overlay Container 即可帮你完成从视图组织、队列处理、转场、动画、交互到显示样式配置等基础工作,让开发者可以将精力更多地投入到应用程序视图的实现本身。
3
14
65
@fatbobman
fatbobman (东坡肘子)
3 years
下周的我会聊聊【如何优化大数据集在 SwiftUI 列表显示的响应效率】。 这是一段允许用户在数据集顶部或底部直接跳转的代码,你能看出它可能导致什么性能问题吗?
Tweet media one
8
6
65
@fatbobman
fatbobman (东坡肘子)
2 years
在 SwiftUI 中用 Text 实现图文混排 本文将通过一个实际案例,为大家介绍在 SwiftUI 中用 Text 实现图文混排的思路和方法。
2
10
62
@fatbobman
fatbobman (东坡肘子)
1 year
在 SwiftUI 中使用 UIKit 视图 即使 SwiftUI 已经诞生了五年,但很多功能开发者仍然需要依赖 UIKit 才能实现。本文将介绍如何在 SwiftUI 中使用 UIKit 视图,并使你的 UIKit 包装视图具有 SwiftUI 风格 #SwiftUI
Tweet media one
1
8
65
@fatbobman
fatbobman (东坡肘子)
1 year
新框架、新思维、新用法。 下周开始,我会陆续发表下面几篇文章的 SwiftData 版本 Core Data 并发编程 掌握 Core Data Stack 预览含有 Core Data 元素的 SwiftUI 视图
0
4
65
@fatbobman
fatbobman (东坡肘子)
2 months
几个常见的关于 SwiftUI 的误解
Tweet media one
3
10
61
@fatbobman
fatbobman (东坡肘子)
1 year
开发 visionOS 前,你需要了解的 Apple AR 技术全景
0
10
57
@fatbobman
fatbobman (东坡肘子)
1 year
SwiftUI + Core Data 内存优化之旅 利用视图生命周期、托管对象惰性、私有上下文避免数据多份拷贝。将内存占用从 1.6GB 优化至 200MB。 掌握如何控制数据源存续期、理解行缓存以及私有上下文,避免日后出现类似问题 #SwiftUI #CoreData
0
8
58
@fatbobman
fatbobman (东坡肘子)
1 year
在我已经翻译成英文版的博客文章中,《避免 SwiftUI 视图的重复计算》是其中阅读量最大的,而且反响最大的一篇。 随着 SwiftUI 使用者的增多,应用的逐步复杂,大家已经将更多的注意力放到了改善效率问题。
2
14
57
@fatbobman
fatbobman (东坡肘子)
2 years
聊天室中,又有一个朋友的 app 上线了。 这是完全采用 Swift Playgrounds 开发的产品。开发者在此之前处于小白状态。 Swift Playgrounds 确实为苹果带来了不少新鲜的开发血液。
1
3
55
@fatbobman
fatbobman (东坡肘子)
3 months
Infinity4Pager * 100% SwiftUI * 支持四方向无限滚动 * 新增可视比例
2
6
57
@fatbobman
fatbobman (东坡肘子)
3 years
最近在重写 #健康笔记 的数据处理部分,同 Core Data 打交道的时间比较多。记录一点心得。 关于 Core Data 并发编程的几点提示 本文将对 Core Data 并发编程中几个常见的问题予以提示,以便开发者更好地了解 Core Data 的并发规则,充分享受 Core Data 提供的强大功能。
Tweet media one
1
13
56
@fatbobman
fatbobman (东坡肘子)
7 months
今早收到几个朋友获得了 Swift Student Challenge 奖杯后,在高兴之余,心中还是有不少感慨的。 我昨天中午到了北京,下午和晚上都是和以前生意上的朋友在一起交流。 其中一个朋友目前已做到了他所在行业的 top 2,不过由于整个行业的微缩,现在的 top 2 可能还不如十年前的 top 10.
6
1
57
@fatbobman
fatbobman (东坡肘子)
7 months
推荐一下,Xcode 插件 : CodeFormatter。 支持 SwiftFormat 和 Clang Format 可以导入 swiftformat 配置
@Sjx_96
sᴊx
7 months
@fatbobman 自荐一下自己写的CodeFormatter🤓App Store可下,免费,支持swift format和clang format
2
0
4
1
11
54
@fatbobman
fatbobman (东坡肘子)
2 years
聊一聊可组装框架( TCA ) 本文将聊聊一个与创建复杂的 SwiftUI 应用很契合的框架 —— The Composable Architecture( 可组装框架,简称 TCA )。包括它的特点和优势、最新的进展、使用中的注意事项以及学习路径等问题。
0
14
54
@fatbobman
fatbobman (东坡肘子)
1 year
解析 SwiftUI 中两处由状态更新滞后引发的严重 Bug 本文将解析 SwiftUI 中两个由于未能贯彻响应式编程原则而导致的严重错误,并提供相应的解决方案。错误包括:通过手势取消 Sheet 后,快速右滑导航容器导致应用锁死;以及在滚动中返回上层视图时导致应用崩溃 #SwiftUI
2
12
57
@fatbobman
fatbobman (东坡肘子)
3 months
我将在下周参加 AdventureX。 17 日上午 10 点,会在杭州的湖畔研创中心聊聊 SwiftUI 中与尺寸有关的一些内容。workshop 面向所有公众免费开放。在杭州的朋友有兴趣的可以来一起交流一下。
Tweet media one
1
8
57
@fatbobman
fatbobman (东坡肘子)
7 months
WWDC 2024 会在 6 月10 日召开。请在本推下,回复你的愿望单( 希望看到的新功能或对旧功能的修改 )。我会在 5 月 20 日,从所有的有效回复( 包含具体愿望 )中随机抽取 10 个,送出🍒。每个人可以进行多次回复。
157
7
55
@fatbobman
fatbobman (东坡肘子)
2 years
SwiftUI 布局 —— 对齐 在 #WWDC22 中,苹果为 SwiftUI 增添了 Layout 协议,让我们有了更多的机会了解和验证 SwiftUI 的布局原理。本文将结合 Layout 协议的内容对 SwiftUI 的 “对齐” 进行梳理,希望能让读者对“对齐”有更加清晰地认识和掌握。
0
9
55
@fatbobman
fatbobman (东坡肘子)
2 years
掌握 SwiftUI 的 task 修饰器 本文将对 SwiftUI 的 task 视图修饰器的特点、用法、注意事项等内容做以介绍,并提供了可在 iOS 13、14 下使用的 Backport 版本。
1
8
54
@fatbobman
fatbobman (东坡肘子)
2 years
用 SwiftUI 的方式进行布局 SwiftUI 真的具备创建复杂用户界面的能力吗?本文将通过用多种手段完成同一需求的方式,展示 SwiftUI 布局系统的强大与灵活,并通过这些示例让开发者对 SwiftUI 的布局逻辑有更多的认识和理解。
0
8
54
@fatbobman
fatbobman (东坡肘子)
1 year
随着对 SwiftData 框架研究的深入,我对其设计者的崇拜之情也日渐加深。在研究 SwiftUI 时,我也有同样的感受。 但在实际使用这些框架时,面对一些低级的 bug 和令人困惑的实现,让我对框架的开发者的又充满困惑。
5
6
53
@fatbobman
fatbobman (东坡肘子)
2 years
SwiftUI + Core Data App 的内存占用优化之旅 本文将通过对一个演示 App 进行逐步内存优化的方式,让读者对 SwiftUI 视图的存续期、惰性视图中子视图的生命周期、托管对象的惰值特性以及持久化存储协调器的行缓存等内容有更多的了解
3
9
53
@fatbobman
fatbobman (东坡肘子)
1 year
新版的 SwiftUI 中,NavigationStack、Sheet、FullScreenCover、Inspector 等都可以通过 transaction 来屏蔽转场动画了!
2
2
53
@fatbobman
fatbobman (东坡肘子)
7 months
这是我在 Let’s VisionOS 2024 上的演讲内容。本次分享的核心是传达这样一个中心思想:尽管这些新框架是为了解决现有框架中的问题而设计的,但我们不应被过往的经验和惯例所限制。将采用新框架的过程视为将项目向更安全、更现代化方向重构的绝佳机会。
4
12
53
@fatbobman
fatbobman (东坡肘子)
6 months
对我而言,使用类似 Swift 这样的高级语言来开发嵌入式代码,不仅应该利用高级语言本身的丰富特性,更要能充分发挥其完整的生态系统和工具链的优势。这样做不仅能够体现现代编程的特点,而且可以事半功倍,提高开发效率。
1
7
51
@fatbobman
fatbobman (东坡肘子)
1 year
深入了解 SwiftUI 5 中 ScrollView 的新功能 在 SwiftUI 5.0 中,苹果大幅强化了 ScrollView 功能。新增了大量新颖、完善的 API。本文将对这些新功能进行介绍。 其中我最喜欢的新 API 有:scrollTargetBehavior、scrollTransition、contentMargins
4
8
52
@fatbobman
fatbobman (东坡肘子)
6 months
用 Swift 开发嵌入式应用 近年来,Swift 逐渐展现出其跨平台开发的潜能。在本文中,我将分享我使用 Swift 语言在 SwiftIO 开发板上进行嵌入式开发的一些尝试和体会。
2
7
51
@fatbobman
fatbobman (东坡肘子)
2 years
SwiftUI 与 Core Data —— 问题 如何让 Core Data 融入当下流行的应用架构体系,在 SwiftUI、TCA、Unit Tests、Preview 等环境下更加顺畅地工作已成为我近期的主要学习方向。我将通过几篇文章来介绍近半年来在这方面的一些想法、收获、体会及实践。
1
10
51
@fatbobman
fatbobman (东坡肘子)
1 year
掌握 Transaction,实现 SwiftUI 动画的精准控制 尽管在 SwiftUI 中使用动画十分简单,但要实现精准的动画控制并非易事。 本文将通过探讨 Transaction 的原理、作用、创建和分发逻辑等内容,告诉读者如何在 SwiftUI 中实现更加精准的动画控制。
0
4
51
@fatbobman
fatbobman (东坡肘子)
2 years
优化在 SwiftUI List 中显示大数据集的响应效率 本文将通过一个优化列表视图的案例,展现在 #SwiftUI 中查找问题、解决问题的思路,其中也会对 SwiftUI 视图的显式标识、 @FetchRequest 的动态设置、List 的运作机制等内容有所涉及。
Tweet media one
0
15
49
@fatbobman
fatbobman (东坡肘子)
2 years
如何处理超宽文本 在 SwiftUI 中,当 Text 需要的宽度超过了提供的宽度时,我们有多种选择对其进行处理,比如: * 用省略号省略部分内容 * 用 minimumScaleFactor 实现动态缩放 * 用 ViewThatFits 返回合适的内容
2
10
49
@fatbobman
fatbobman (东坡肘子)
3 years
ViewBuilder 研究(上)—— 掌握 Result builders 我将通过上下两篇博文,对构建 SwiftUI 视图的 ViewBuilder 进行探讨。上篇将介绍 ViewBuilder 背后的实现者 —— result builders ; 下篇将通过对 ViewBuilder 的仿制,进一步地探索 SwiftUI 视图。
2
7
46
@fatbobman
fatbobman (东坡肘子)
2 years
实时切换 Core Data 的云同步状态 本文将对实时切换 Core Data 云同步状态的实现原理、操作细节以及注意事项进行探讨和说明。
5
5
49
@fatbobman
fatbobman (东坡肘子)
1 year
掌握 TipKit:基础 TipKit 是苹果在 WWDC 2023 上新推出的一个框架,可轻松在你的应用程序中显示提示。它可用于向用户介绍新功能,帮助他们发现隐藏的选项或展示完成任务更快的途径等场景 我将用两篇文章探讨 TipKit 框架。在本文中,我们首先掌握 #TipKit 的用法
0
11
48
@fatbobman
fatbobman (东坡肘子)
9 months
深入了解 SwiftUI 5 中 ScrollView 的新功能 在 SwiftUI 5.0 中,苹果大幅强化了 ScrollView 功能。新增了大量新颖、完善的 API。本文将对这些新功能进行介绍,希望能够让它们更多、更早的帮助到有需要的开发者。
2
5
48
@fatbobman
fatbobman (东坡肘子)
2 years
StateObject 与 ObservedObject StateObject 和 ObservedObject 是我们经常会使用的属性包装器,它们都有各自擅长的领域。了解它们内涵不仅有助于选择合适的应用场景,同时也对掌握 SwiftUI 视图的存续机制有所帮助。 本文将介绍两者间的异同,原理以及注意事项。
0
5
46
@fatbobman
fatbobman (东坡肘子)
1 year
之前很难意识到,在 Swift 和 Objective-C 之间往返,会损失如此多的性能。
Tweet media one
3
4
48
@fatbobman
fatbobman (东坡肘子)
1 year
WWDC 23 ,SwiftUI 5 和 SwiftData 的初印象 WWDC 2023 正在如火如荼地进行。苹果不仅带来了全新形态的硬件产品,还推出了几个相当震撼的新框架。本文将聊聊我对 SwiftUI 5.0 和 SwiftData 的初步印象。
1
8
46
@fatbobman
fatbobman (东坡肘子)
2 years
Ask Apple 2022 与 SwiftUI 有关的问答(上) Ask Apple 为开发者与苹果工程师创造了在 WWDC 之外进行直接交流的机会。本文对本次活动中与 SwiftUI 有关的一些问答进行了整理,并添加了一点个人见解。本文为上篇。
0
9
44
@fatbobman
fatbobman (东坡肘子)
2 years
避免 SwiftUI 视图的重复计算 本文将介绍如何减少( 甚至避免 )当视图响应了不该响应的状态,或者视图的状态中包含了不该包含的成员时,SwiftUI 对视图进行不必要更新( 重复计算 )的次数,从而改善 SwiftUI 应用的整体表现。
0
9
47
@fatbobman
fatbobman (东坡肘子)
11 months
SwiftUI geometryGroup() 指南:从原理到实践 在 WWDC23 中,苹果为 SwiftUI 添加了一个新的修饰器:geometryGroup()。它可以解决一些之前无法处理或处理起来比较困难的动画异常。本文将介绍 geometryGroup() 的概念、用法,以及在低版本 SwiftUI 中如何处理类似的异常。
3
7
46
@fatbobman
fatbobman (东坡肘子)
1 year
构建稳定的预览视图 —— SwiftUI 预览的工作原理 随着项目规模的增长,开发者会发现预览并不如想象的那么易用。我将通过两篇文章来分享我对预览功能的认知和理解,并探讨如何构建稳定的预览。本文将首先剖析预览功能的实现机制,让开发者了解哪些情况是预览必然无法处理的
0
14
44
@fatbobman
fatbobman (东坡肘子)
4 months
🚀 WWDC 2024 highlights are here! Latest API insights + deep dives on SwiftUI and SwiftData. Swift devs, don't miss out! Read this week's curated articles 👉 What's your favorite new feature? Comment below!
Tweet media one
0
9
46
@fatbobman
fatbobman (东坡肘子)
3 years
这段时间阅读 @olebegemann dump 的 SwiftUI framework 有了不小的收获,不过他dump的版本有点旧了。我重新生成了一个Xcode 13.2下的版本。 dump的工具为:swift-reflection-dump
1
9
46
@fatbobman
fatbobman (东坡肘子)
4 months
在 iOS 18 中,SwiftUI 除了可以直接使用 UIKit 的手势外,还调整了原生手势的底层实现。现在,我们可以直接在底层基于 UIKit 的组件上( List、Form、Map 等)上使用原生手势而不影响组件的响应了。这是非常重要的更新!
2
0
44
@fatbobman
fatbobman (东坡肘子)
3 years
通过几篇博文介绍Core Data with CloudKit的用法、调试技巧、控制台设置并尝试更深入地研究其同步机制。
Tweet media one
4
9
42
@fatbobman
fatbobman (东坡肘子)
7 months
不少开发者决定使用 Core Data 或 SwiftData,其中一个重要原因是可以享受到便捷的 CloudKit 数据云同步服务 对于初学者,在创建数据模型时,一定要注意避免违反 CloudKit 对模型的要求 例如:不要使用 Unique、必须提供默认值或设置为可选值、关系要可选、不支持 deny 等
6
4
44
@fatbobman
fatbobman (东坡肘子)
2 years
Core Data 是如何在 SQLite 中保存数据的 如果你浏览过 Core Data 生成的 SQLite 数据库文件,一定会见过其中包含不少奇怪的表和字段。本文将对这些表和字段进行介绍,或许可以换个角度帮助你解开部分疑惑。
Tweet media one
0
8
42
@fatbobman
fatbobman (东坡肘子)
7 months
苹果新出的开发者油管频道 不开个 B 站的?😁
1
9
43
@fatbobman
fatbobman (东坡肘子)
2 years
Ask Apple 2022 中与 Core Data 有关的问答 Ask Apple 为开发者与苹果工程师创造了在 WWDC 之外进行直接交流的机会。本文对本次活动中与 Core Data 有关的一些问答进行了整理,并添加了一点个人见解。
1
8
42
@fatbobman
fatbobman (东坡肘子)
9 months
在 SwiftUI 中用 Text 实现图文混排 SwiftUI 提供了强大的布局能力,不过这些布局操作都是在视图之间进行的。当我们想在 Text 中进行图文混排时,需要采用与视图布局不同的思路与操作方式。本文将为大家梳理出在 SwiftUI 中用 Text 实现图文混排的思路。
2
9
43
@fatbobman
fatbobman (东坡肘子)
1 year
从 Beta1 到现在的 RC 版本,SwiftData 以惊人的速度迭代升级,令人印象深刻。我原本以为它仅仅是利用 Swift 语言的新特性,对 Core Data 进行二次封装、使其更加 Swift 化。但经过这段时间的使用和了解,我意识到这种描述严重低估了 SwiftData
@fatbobman
fatbobman (东坡肘子)
1 year
随着对 SwiftData 框架研究的深入,我对其设计者的崇拜之情也日渐加深。在研究 SwiftUI 时,我也有同样的感受。 但在实际使用这些框架时,面对一些低级的 bug 和令人困惑的实现,让我对框架的开发者的又充满困惑。
5
6
53
3
6
42
@fatbobman
fatbobman (东坡肘子)
7 months
博客很少出现的访问地址
Tweet media one
11
0
42
@fatbobman
fatbobman (东坡肘子)
8 months
SwiftUI 并没有提供判断一个可滚动控件( ScrollView、List )是否处于滚动状态的 API 。本文将介绍几种在 SwiftUI 中获取当前滚动状态的方法,每种方法都有各自的优势和局限性。
0
5
42
@fatbobman
fatbobman (东坡肘子)
6 months
刚才收到了一个评论提醒。每次收到用户对 app 的评论或邮件时,作为一个只上架了一款应用的“编程爱好者”,我都会感到有些惭愧。
Tweet media one
5
1
42
@fatbobman
fatbobman (东坡肘子)
2 years
本以为顺利度过新冠感染的父亲在今年身体会更好一些,但却在前几日突因现肠道大出血而紧急住院抢救。今早在 ICU 门前又收到大学同学病故的消息,心中不胜唏嘘。 珍惜时间、珍惜家人这些老生常谈在面对危机时更会凸显它们的宝贵。 博客近期仍会停更一段时间。祝父亲早日康复,也希望大家都能身体健康。
15
0
40
@fatbobman
fatbobman (东坡肘子)
3 years
掌握 SwiftUI 的 Safe Area Safe Area(安全区域)是指不与导航栏、标签栏、工具栏或其他视图控制器提供的视图重叠的内容空间。 本文将探讨如何在 #SwiftUI 中获取 SafeAreaInsets、将视图绘制到安全区域之外、修改视图的安全区域等内容。
Tweet media one
0
8
39
@fatbobman
fatbobman (东坡肘子)
2 years
使用 #SwiftUI Text 的一个未公开方法 _resolveText 可以获得 Text 中本地化后的字符串内容。 传入一个包含特定 locale 的 EnvironmentValue,可以设定想要获取的字符串语言
Tweet media one
1
2
40