- 博客(1613)
- 资源 (8)
- 收藏
- 关注
原创 SwiftUI 如何为文件和图片加入便捷的快速预览功能
在本篇博文中,我们在 SwiftUI 中实现了任意(包括图片、PDF、HTML、文本等等)文件内容的快速预览功能,我们还更进一步为其添加了预览窗口弹出控制和缓存的支持。
2023-11-01 16:52:34 387 14
原创 『第十四章』雨燕的自我修养:Swift 调试技巧(下)
在本篇博文中,我们首先介绍了 Xcode 对 UI 调试的支持,接着讨论了 Instruments 工具和 Xcode 15 中新的结构化日志调试机制,最后我们总结了一些非常有用的调试小技巧。
2023-10-30 15:05:04 212 4
原创 『第十三章』雨燕的自我修养:Swift 调试技巧(上)
在本篇博文中,我们先是介绍了 Swift 调试的基础知识,随后讲解了 LLDB 以及它常用的一些调试命令,接着我们介绍了 Xcode 中断点的类型和管理,最后我们学习了 Swift 代码本身和日志对调试的支持。
2023-10-30 14:42:11 313
原创 『第十二章』数据持久化:SwiftData
在本篇博文中,我们介绍了全新的 SwiftData 数据库;我们讨论了它的组成要素、数据模型以及对应的 CRUD 操作;最后我们介绍了它是如何与 SwiftUI 组合而实现最大威力的。
2023-10-30 14:15:13 347 5
原创 『第十一章』数据持久化:CoreData 与 CloudKit
在本篇博文中,我们详细介绍了 CoreData 数据库模型;随后我们讨论了如何用 CouldKit 将本地数据同步到云存储上去;我们还介绍了 CoreData 是如何与 SwiftUI 搭档威力大增的。
2023-10-29 18:58:52 820 10
原创 『第十章』仪态万千的雨燕:UIKit 和 SwiftUI
在本篇博文中,我们先是简要介绍了 UIKit 框架,接着我们详细讨论了 SwiftUI 以及它的重要组件:原生视图、修改器、状态与“真相之源”、动画以及与 UIKit 互动等众多话题。
2023-10-28 19:10:13 361
原创 『第九章』雨燕新量子引擎:结构化并发
在本篇博文中,我们讨论了 Swift 中新结构化并发模型。我们依次介绍了 async/await 关键字、结构化与非结构化、异步序列以及 Actor;最后,我们连通了“旧”和“新”两个并行世界,让 Swift 的并发宇宙混为一体,融会贯通。
2023-10-28 16:56:23 155
原创 『第八章』进击的雨燕:Combine 框架
在本篇博文中,我们介绍了 Swift 的 Combine 框架,它是响应式编程(Reactive Programming)在 Swift 中的一个实现,我们随后讨论了它的重要组成部分,最后举了一些例子帮助大家加深理解。
2023-10-27 20:19:55 256 3
原创 『第七章』翩翩起舞的雨燕:顺序与并发执行
在本篇博文中,我们介绍了 Swift 代码顺序和并发两种不同执行方式;我们还深入探讨了并发中数据竞争、线程同步以及线程爆炸等问题,最后我们一起聊了聊 RunLoop 和定时器的知识。
2023-10-27 19:02:08 247 1
原创 『第六章』三见倾情:初识小雨燕(下)
在本篇博文中,我们介绍了 Swift 语言中控制流、ARC和引用循环以及错误处理这三个非常重要的话题。至此,我们完成了 Swift 语言基本知识的学习。
2023-10-27 10:21:48 119
原创 『第五章』二见痴心:初识小雨燕(中)
在本篇博文中,我们陆续介绍了 Swift 中值与引用类型、OOP和POP、协议与扩展以及泛型和宏的一些基本开发知识。
2023-10-25 16:34:52 626 5
原创 『第四章』一见倾心:初识小雨燕(上)
在本篇博文中,我们简单介绍了 Swift 语言中的基本类型、自定义类型(复合类型)、聚集以及运算符等内容。我们会在后续文章中更详细讨论它们的使用场景。
2023-10-25 15:24:16 339
原创 『第三章』雨燕栖息地:Swift 开发环境
在本篇博文中,我们介绍了 Mac 上的主力开发工具 Xcode,并讨论了学习 Swift 语言的几种方式和平台:Xcode iOS App 项目、Xcode Playground,iPad(Mac)Swift Playgrounds 以及 Swift REPL 交互环境。
2023-10-25 07:36:24 533 1
原创 『第二章』这只燕子很特别:Swift 特性
在本篇博文中,我们从 Swift 前任 Objc 开始介绍,如数家珍的列出了 Swift 诸多特点和优势,最后我们用了一小段简洁的代码片段让小伙伴们初步领略到 Swift 之美。
2023-10-24 22:38:33 165
原创 『第一章』命运的齿轮开始转动:雨燕(Swift)诞生!
在本篇博文中,我们一起回顾了 Swift 语言从诞生、发展、壮大、到标准化的进程,并从目前承前启后 5.9 版本展望未来 6.0 版本的远景规划。
2023-10-24 21:50:39 156
原创 CoreData + CloudKit 在初始化 Schema 时报错 A Core Data error occurred 的解决
在本篇博文中,CoreData + CloudKit 项目在初始化 Schema 报 “A Core Data error occurred” 错时,我们通过擘肌分理的分析找到了问题的原因,并成功将其降服!
2023-10-09 15:02:35 248 12
原创 SwiftUI 4.0:两种方式实现子视图导航功能
在本篇博文中,我们在 SwiftUI 4.0 里通过两种不同方式实现了相同的子视图导航功能,任君选择。
2023-10-04 16:33:22 537 3
原创 Swift 5.9 与 SwiftUI 5.0 中新 Observation 框架应用之深入浅出
在本篇博文中,我们讨论了在 Swift 5.0 和 SwiftUI 5.0 中大放异彩 Observation 框架的使用,并就诸多技术细节问题给与了详细的介绍,愿君喜欢。
2023-10-04 14:17:41 1728 6
原创 Xcode 超简单实用小秘技让撸码进入新境界
在本篇博文中,我们介绍了两个非常简单、但却会让 Xcode 使用进入一个新境界的操作秘技,相信大家会喜欢上它们。
2023-10-01 14:20:03 266 9
原创 macOS 14 Sonoma 如何删除不需要的 4k 动态壁纸
在本篇博文中,我们讨论了如何仅需 2 步即可轻松在 macOS 14(Sonoma)中删除不需要的 4k 高清动态壁纸。
2023-09-27 10:02:05 18883 7
原创 深入理解 Swift 新并发模型中 Actor 的重入(Reentrancy)问题
在本篇博文中,我们通过难易不同的两个小例子深入浅出的向小伙伴们介绍了 Swift 新并发模型中 Actor 重入(Reentrancy)可能引发的问题,并给出解决方案。
2023-09-26 15:03:46 667 3
原创 SwiftUI 在 iOS 17 上发生“诡异”崩溃的解决:AsyncRenderer layout engine performed from background thread
在本篇博文中,我们通过缜密分析,成功解决了 SwiftUI 只在 iOS 17 发生的 AsyncRenderer 线程中 NSIS 引擎渲染布局发生冲突导致的崩溃问题并介绍了该崩溃是由于 iOS 17 中一个重要改变引起的。
2023-09-25 20:34:15 1384 6
原创 如何让异步序列(AsyncSequence)优雅的感知被取消(Cancel)
在本篇博文中,我们首先简单介绍了什么是异步序列,接着学习了几种创建自定义异步序列的方法,最后我们讨论了如何优雅的取消异步序列的迭代。
2023-09-24 09:33:55 348 4
原创 SwiftData(iOS 17+)如何在数据新建和更新中途出错时恢复如初?
在本篇博文中,我们首先简单介绍了 SwiftData (iOS 17+)框架,随后讨论了在 SwiftData 数据新建或更新中途发生错误时如何优雅的将一切恢复到原来的状态。
2023-09-21 16:02:53 958 8
原创 CoreData 在新建或更新托管对象中途发生错误时如何恢复如初?
在本篇博文中,我们讨论了如何在 CoreData 托管对象新建和更新发错误时,“丢弃”任何已经发生的改变,将一切"回归本初"!
2023-09-20 11:54:46 244 10
原创 URL 路径中包含百分号需要在 Swift 中的特殊处理
在本篇博文中,我们讨论了使用包含百分号(%)的 URL 路径在 Swift 中需要考虑到的几个地方,为了让大家觉得更加浅显易懂我们还举了一个非常实际的例子。
2023-09-18 13:16:54 362 10
原创 Swift 新并发模型中 isolated 和 nonisolated 关键字的含义看这篇就懂了!
在本篇博文中,我们通过几个通俗易懂的例子让小伙伴们轻松了解到 Swift 新 async/await 并发模型中 isolated 与 nonisolated 关键字的精髓,并对它们做了进一步的深入拓展。
2023-09-14 14:38:32 410 11
原创 SwiftUI 5.0(iOS 17)TipKit 让用户更懂你的 App
在本篇博文中,我们介绍了 SwiftUI 5.0(iOS 17)中新引进的开发框架 TipKit,使用它我们可以非常方便和快速的向用户介绍我们 App 中的各种特性和使用指南,小伙伴们还不快操练起来!
2023-09-11 10:39:07 927 9
原创 SwiftUI 内功:“曳光弹“实现自定义样式进度条(ProgressView)
在本篇博文中,我们利用敏捷开发中“曳光弹”原则步步为营打造了一款漂亮的进度条样式;我们最终完美的实现了目标,更重要的是:我们学到了软件工程中重要的一课!
2023-09-10 10:32:53 764 5
原创 Swift 另辟蹊径极速生成图片的缩略图
在本篇博文中,我们介绍了如何仅用 自家代码就实现极速生成图片缩略图的功能,并随后讨论了如何进一步加速。
2023-09-06 21:31:40 303 7
原创 Swift 如何从图片数据(Data)检测原图片类型?
在本篇博文中,我们讨论了如何从图片数据(Data)检测出原图片的类型,支持 jpeg(jpg), tiff, bmp, ico, icns, gif, png, webp, svg 等 9 种图片格式,并且可以轻松扩展支持新图片类型。
2023-09-03 13:09:37 1445 9
原创 SwiftUI 为不同视图限制不同的屏幕旋转方向
在本篇博文中,我们实现了在 SwiftUI 中(iOS 16+ 以及 iOS 17 beta4)为任意视图指定屏幕旋转方向(Interface Orientations),相信大家都会收获满满。
2023-08-26 13:59:13 1635 15
原创 iOS 17 测试版中 SwiftUI 视图首次显示时状态的改变导致动画“副作用”的解决方法
在本篇博文中,我们在 iOS 17 beta 4(SwiftUI 5.0)测试版中发现了 SwiftUI 视图首次显示时状态的改变会导致动画“副作用”的问题,并提出多种解决方案。
2023-08-17 21:52:58 1028 5
原创 SwiftUI 动画进阶:实现行星绕圆周轨道运动
在本篇博文中,我们讨论了 SwiftUI 中如何用定时器实现视图围绕圆周运动,并随后用动画进一步优化了运动效果。
2023-08-17 19:11:33 609 8
原创 Swift async/await 并发中如何将任务组(TaskGroup)转换为异步序列(AsyncSequence)
在本篇博文中,我们讨论了如何将 Swift 结构化并发中任务组的执行结果转换为异步序列来提高执行效率,并介绍了如何取消和限制子任务的执行。
2023-08-09 14:23:39 1028 15
原创 极简实现任意版本 SwiftUI 中隐藏和显示系统底部横条(Home Indicator)
在本篇博文中,我们实现了在任意版本 SwiftUI 中都能游刃有余隐藏和显示系统底部横条(Home Indicator)的方法,并顺带讨论了如何优雅的替换当前活动 Window 中的 rootViewController (根控制器)。
2023-07-28 16:58:21 1699 11
原创 SwiftUI 原生或利用 Vision 检测限定高度的 Text 视图能否完整显示文本的方法
在本篇博文中,我们讨论了在 SwiftUI 中判断 Text 视图中文本是否显示完整的方法:其中我们分别使用了原生和 Vision 视觉识别框架两种解决方案,任君选择!
2023-07-16 16:42:15 857 11
原创 万物皆可截图:SwiftUI 中任意视图(包括List和ScrollView)截图的通用实现
在本篇博文中,我们讨论了如何截取 SwiftUI 中任意视图(包括 gif 动画和 List)图片的通用方法,并在最新的 iOS 17 中测试成功。我们跟随历史的步伐,突破重重难关从原本的死胡同走出了一条光明大道!
2023-07-14 19:23:11 1617 10
原创 万物皆可长按:SwiftUI 5.0(iOS 17)极简原生实现任意视图长按惯性加速功能
在本篇博文中,我们讨论了 SwiftUI 5.0(iOS 17)中如何仅使用一行代码就搞定任意视图的长按惯性加速功能,并介绍了 SwiftUI 5.0 中形状(Shape)新的渲染机制。
2023-07-10 10:19:57 3588 16
原创 PHPickerViewController 从相册选择 jpeg 图片出错:“PAMediaConversionServiceErrorDomain error 2“ 的解决
在本篇博文中,我们讨论了对于相册中某些 jpeg 格式的图片,为何用 PHPickerViewController 选择时会出现无法识别的问题(Cannot load representation of type public.jpeg),并在真机中给出解决方案。
2023-07-03 22:03:51 688 13
SwiftUI 超酷炫动画示例大合集
2024-01-08
MacOS 和 iOS 内核 xnu 可编译源代码
2024-01-08
SwiftUI 示例 iFonts 应用完整项目源代码
2024-01-08
SwiftUI 各种界面、自定义视图、动画以及设计哲学示例合集
2024-01-08
SwiftUI 英雄动画(HeroAnimations)演示代码
2024-01-08
iOS 15.4 真机调试支持包(可支持最新的iOS 15.4.1系统)
2022-04-03
SwiftUI编程实现不同TabView标签页中任意导航层级视图之间相互跳转的演示代码
2022-04-03
unlocker_new
2008-11-10
UnlockerEx
2008-04-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人