- 博客(1593)
- 资源 (8)
- 收藏
- 关注
原创 SwiftUI 6.0(Xcode 16)新 PreviewModifier 协议让预览调试如虎添翼
在本篇博文中,我们介绍了如何使用 SwiftUI 6.0(Xcode 16)中最新的 PreviewModifier 协议让预览调试闲情逸致、如虎添翼。
2024-07-18 21:33:10
1570
17
原创 SwiftUI 5.0(iOS 17)滚动视图的滚动目标行为(Target Behavior)解惑和实战
在本篇博文中,我们讨论了什么是 Swift 5.0(iOS 17.0)中新增的滚动目标行为(Target Behavior),并且介绍了如何游刃有余应用它们,我们在最后还创建了定制的滚动目标行为让自由度更加“出谷迁乔”。
2024-07-18 14:03:17
952
8
原创 Xcode 16 beta3 真机调试找不到 Apple Watch 的尝试解决
在本篇博文中,我们讨论了在 Xcode 中真机调试找不到 Apple Watch 的尝试解决方法,希望能解大家燃眉之急!
2024-07-14 15:13:23
976
22
原创 SwiftUI @FetchRequest 中 CoreData 托管对象不能正确被刷新的解决
在本篇博文中,我们讨论了 SwiftUI @FetchRequest 里 CoreData 托管集合内部单个对象的变化,不能导致 @FetchRequest 的 FetchedResults 对应界面正确被刷新的问题,并给出两种解决之道,任君选择。
2024-07-11 10:32:40
112
6
原创 SwiftUI 截图(snapshot)视频画面的极简方法
在本篇博文中,我们讨论了如何在 SwiftUI 中用最简单的方式不借助任何其它库,实现原生的视频播放和视频截图功能。
2024-07-11 10:15:03
346
14
原创 迂回战术:“另类“全新安装 macOS 15 Sequoia beta2 的极简方法
在本篇博文中,我们简单讨论了目前安装最新 macOS 15 Sequoia beta2 的几种方法,并讨论了如何在剩余磁盘空间所剩无几的系统中巧妙安装 macOS 15 这枚“庞然大物”。
2024-07-10 21:00:30
971
11
原创 SwiftData 模型对象的多个实例在 SwiftUI 中不能及时同步的解决
在本篇博文中,我们介绍了在 SwiftData 里也同样会出现在 CoreData 中 @FetchRequest 查询托管对象不能被及时被刷新的情况。并给出了简单的令人“难以置信”的解决方案。
2024-07-07 14:05:49
1275
7
原创 SwiftUI 6.0(iOS 18.0)滚动视图新增的滚动阶段(Scroll Phase)监听功能趣谈
在本篇博文中,我们介绍了 SwiftUI 6.0(iOS 18.0)滚动视图最新的滚动阶段(Scroll Phase)监听功能,并讨论了如何在原本不支持该功能的列表(List)上使用它。
2024-07-06 13:06:35
1894
22
原创 SwiftUI 中 Grid 内多个 NavigationLink 同时发生导航之诡异问题的解决
在本篇博文中,我们讨论了 SwiftUI 的 Grid(包括 LazyVGrid 和 LazyHGrid)中如果包含多个 NavigationLink,点击任何单独一个都会导致全部 NavigationLink 同时发生导航这一问题的解决方法。
2024-07-03 13:43:44
210
7
原创 Swift 中强大的 Key Paths(键路径)机制趣谈(下)
在本篇博文中,我们介绍了如何用键路径超越对象实例,特例化(specialize)数据模型;以及用可写键路径彻底摆脱“引用循环”,让简化代码“一蹴而就”。
2024-07-03 13:42:07
1075
12
原创 让 SwiftUI 原生 TabView 支持标签页切换转场动画
在本篇博文中,我们介绍了 SwiftUI 原生 TabView 支持标签切换转场动画的原理,并给出了详细的示例代码。
2024-07-02 18:13:37
197
11
原创 Swift 中强大的 Key Paths(键路径)机制趣谈(上)
在本篇博文中,我们先是介绍了 Swift 语言中“简约却不简单”的键路径(Key Paths)机制,接着讨论了将它用来简化逻辑以及当成方法(functions)传递的美妙瞬间。
2024-07-02 16:26:29
1542
1
原创 Swift 新结构化并发中鲜为人知的 isolated 参数
在本篇博文中,我们介绍了 Swift 现代并发模型中少有人知的 isolated parameters 机制,并用了一个非常通俗易懂的“栗子”让大家豁然开朗!
2024-07-01 09:21:18
769
14
原创 Swift 中更现代化的调试日志系统趣谈(二)
能够调试和评测(profile)应用程序对于 App 的成功至关重要。日志记录是一种“价值连城”的神兵利器,大家可以在开发应用程序时使用它们来取代标准的 print 调用。
2024-07-01 09:17:37
678
1
原创 SwiftUI 6.0(iOS 18/macOS 15)关于颜色 Color 的新玩法
在本篇博文中,我们讨论了在 SwiftUI 6.0(iOS 18/macOS 15)中颜色 Color 结构新增的 mix() 方法,现在融合任何颜色再也不是“黄粱一梦”了!
2024-06-24 18:53:16
2321
28
原创 SwiftUI 6.0(iOS 18)ScrollView 全新的滚动位置(ScrollPosition)揭秘
在本篇博文中,我们介绍了 SwiftUI 6.0(iOS/iPadOS 18)中滚动视图(ScrollView)的全新升级,其中包括 ScrollPosition 以及动态获取滚动实时偏移(Content Offset)等精彩内容。
2024-06-22 10:46:53
1722
20
原创 SwiftUI 6.0(iOS/iPadOS 18)中全新的 Tab 以及 Sidebar+悬浮 TabView 样式
在本篇博文中,我们介绍了 SwiftUI 6.0(iPadOS 18/iOS 18)新标签页中新增的 Tab 和 TabSection 原生视图,并进一步讨论了如何让 TabView 支持 Sidebar 样式以及其它有趣的新特性。
2024-06-20 14:48:23
1824
17
原创 SwiftUI 6.0(Xcode 16)全新 @Entry 和 @Previewable 宏让开发妙趣横生
在本篇博文中,我们介绍了如何在最新的 SwiftUI 6.0(Xcode 16)中利用 WWDC24 中新祭出的 @Entry 和 @Previewable 宏让环境变量定义和 Xcode 界面预览调试更加得心应手,充满乐趣!
2024-06-16 21:24:39
1283
8
原创 SwiftUI 6.0(iOS 18)新容器视图修改器漫谈
在本篇博文中,我们讨论了 WWDC24 里 SwiftUI 6.0(iOS 18)中最新的容器视图修改器,并用简单的示例代码让小伙伴们豁然开朗!
2024-06-16 14:44:25
2581
19
原创 iOS 18 中全新 SwiftData 重装升级,其中一个功能保证你们“爱不释手”
在本篇博文中,我们介绍了 iOS 18 中 SwiftData 框架的“重装升级”。其中我感觉 #Expression 和 #Index 宏对小伙伴的实际帮助更为突出,大家怎么认为呢?欢迎讨论哦。
2024-06-15 13:32:15
1505
17
原创 苹果最新 WWDC 2024 系列开发视频观看指南
在本篇博文中,我们讲解了苹果最新 WWDC 2024 系列开发视频截止今日(6月12日)的大致的情况,并讨论了如何通过网页和 Developer App 凫趋雀跃的“欣赏”它们。
2024-06-12 16:56:24
852
5
原创 Swift 中更现代化的调试日志系统趣谈(一)
在本篇博文中,我们介绍了 Swift 中更加现代化的调试日志系统以及如何利用日志记录器 Logger 创建我们自己“心仪”的日志记录。我们还讨论了如何利用 Xcode 控制台中的调试元数据和过滤条件进一步让日志记录栩栩如生、手到擒来。
2024-06-12 15:31:37
1133
14
原创 SwiftUI 利用 Swizz 黑魔法为系统创建的默认对象插入新协议方法(六)
在本篇博文中,我们讨论了如何在 SwiftUI 中利用 SWIZZ 黑魔法在运行时找到关键的拖放对象,并向其注入新的拖放完成回调方法,以便让本系列博文画上一个圆满的句号!
2024-06-12 09:07:19
178
11
原创 Swift 序列(Sequence)排序面面俱到 - 从过去到现在(三)
在本篇博文中,我们讨论了 iOS 15(macOS 12)中为排序新推出的 SortComparator 协议和 SortDescriptor 排序操作符;并在文章最后对 sort 和 sorted 排序方法执行的性能做了一番深入的分析。
2024-06-08 16:48:22
662
8
原创 Swift 序列(Sequence)排序面面俱到 - 从过去到现在(二)
在本篇博文中,我们介绍了 Swift 自定义类型中“多属性”排序的概念,并巧妙的从 Objective-C 语言中 NSSortDescriptor 类型获取灵感,用高级抽象让“多属性”排序的通用实现得偿所愿。
2024-06-08 14:31:48
330
9
原创 Swift 序列(Sequence)排序面面俱到 - 从过去到现在(一)
在本篇博文中,我们介绍了 Swift 语言中序列和集合元素排序的一些基本概念,我们随后还讨论了如何在自定义类型上实现任何实例属性上排序的“姿势”。
2024-06-08 12:57:10
204
10
原创 SwiftUI 利用 Swizz 黑魔法为系统创建的默认对象插入新协议方法(五)
在本篇博文中,我们讨论了 Swift 中的 SWIZZ 到底是一个怎样的存在?我们举了 ruby 语言中的“猴打补丁”机制与此对照,并最后用如何 HOOK UIViewController.viewDidLoad 方法生动的展示了 SWIZZ 的强大威力!
2024-06-05 09:23:29
323
17
原创 SwiftUI 利用 Swizz 黑魔法为系统创建的默认对象插入新协议方法(四)
在本篇博文中,我们讨论了如何修复 SwiftUI 拖放中的一个小 Bug,并介绍了 SwiftUI 拖放机制中底层的 UIKit 世界。
2024-06-05 09:22:31
894
10
原创 SwiftUI 利用 Swizz 黑魔法为系统创建的默认对象插入新协议方法(三)
在本篇博文中,我们讨论了如何调整 SwiftUI 中被拖拽视图以及拖拽视图拖拽时下方视图的外观,可以看到这在 SwiftUI 是多么轻而易举的事儿。
2024-06-04 15:26:36
210
4
原创 SwiftUI 利用 Swizz 黑魔法为系统创建的默认对象插入新协议方法(二)
在本篇博文中,我们初步实现了本系列博文示例中所需的“前一半”功能,并对其中一些细节做了详细的介绍。
2024-06-04 15:10:13
124
5
原创 SwiftUI 利用 Swizz 黑魔法为系统创建的默认对象插入新协议方法(一)
在本篇博文中,我们讨论了在 SwiftUI 中完成拖放操作的总体思路,并进一步介绍了本文中示例代码所要实现的具体功能。
2024-06-04 14:53:38
85
4
原创 Swift 中 @preconcurrency 修饰符使用浅谈
在本篇博文中,我们介绍了 Swift 语言中 @preconcurrency 修饰符的作用,以及它在一些应用语境中“雪中送炭”的具体示例。
2024-05-31 13:05:17
1113
18
原创 Swift 初学者交心:在 Array 和 Set 之间我们该如何抉择?
在本篇博文中,我们简单介绍了 Swift 语言中数组(Array)和集合(Set)两种类型的特性,并比较了它们在实际运行中的性能,最后我们进一步探讨了选择它们的基本原则。
2024-05-27 18:18:52
908
12
原创 SwiftUI 5.0(iOS 17)进一步定制 TipKit 外观让撸码如虎添翼
在本篇博文中,我们介绍了 SwiftUI 5.0 中从宏观全局调整 Tip 视图显示的几种方式。如果小伙伴们觉得还是不能放开手脚,我们还探讨了如何 100% 纯手工打造自己 Tip 内部布局的方法,包您满意!
2024-05-27 14:04:17
1611
6
原创 SwiftUI 中为何 DisclosureGroup 视图在收缩时没有动画效果?
在本篇博文中,我们介绍了 SwiftUI 2.0 新增的 DisclosureGroup 原生视图,并接着讨论了为什么它的收起操作没有动画,并最后给出解决方案。
2024-05-23 08:51:50
913
11
原创 Swift 初学者秘技:如何用模块(Module)进一步细粒度控制代码访问控制
在本篇博文中,我们介绍了 Swift 语言中的访问控制级别(Access Control),并讨论了如何利用外部模块(Module)进一步细粒度控制代码逻辑的可见性。
2024-05-20 09:50:15
634
12
原创 Swift 5.9 中 if 与 switch 语句简洁新语法让撸码更带劲
在本篇博文中,我们介绍了 Swift 语言中条件选择指令的“前世今生”,并讨论了 Swift 5.9 中 if 和 switch 语句更简洁的新语法。
2024-05-16 14:52:51
903
15
原创 SwiftUI 调整视图内容周围间隙(Content Margins)的“时髦”方法
在本篇博文中,我们讨论了在 SwiftUI 中调整视图周边空白间隙从而让其在 iPhone 和 iPad 都表现得相当 nice 的方法,我们还进一步介绍了如何利用 iOS 17(iPad 17)里新增的方法让以上的实现更加锦上添花的“秘技”!
2024-05-11 09:59:41
1065
17
原创 Swift 初学者趣谈:一招教你记住模式匹配 if case let 的语法,永不忘记
在本篇博文中,我们讨论了如何在 Swift 语言中巧妙记住模式匹配中 if case let 语法的构成,天荒地老永不忘记!
2024-05-11 09:52:35
1085
4
原创 Xcode 15 预览 SwiftUI 视图中 @FetchRequest 查询结果不能正确刷新的解决
在本篇博文中,我们介绍了 Xcode 15 预览 SwiftUI 视图中 @FetchRequest 的查询结果不能被正确刷新的问题,并通过应变措施让代码在模拟器、真机或是预览中都能毫无二致的反应出”理所当然“的运行结果。
2024-05-03 14:39:27
1509
7
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关注的人