
Swift 集
文章平均质量分 81
做最好的 Swift 社区,我们的使命是做一个最专业最权威的 Swift 中文社区,我们的愿景是希望更多的人学习和使用Swift。我们会分享以 Swift 实战、SwiftUI、Swift 基础为核心的技术干货。
网罗开发
华为HDE,大学讲师,开源创新毕业设计导师,Swift社区主理人,COC上海社区主理人,优快云博客专家。
《SwiftUI 入门,进阶与实战》 作者
《ESP32-C3 物联网工程开发实战》作者
全网 10万+ 粉丝, 欢迎您的关注与支持。交流合作私信+
展开
-
如何在 SwiftUI 中使用 AccessibilityCustomContentKey 修饰符
SwiftUI 3 发布了许多新的辅助功能 API,我们可以利用这些 API 以轻松的方式显著提高用户体验。本篇文章来聊聊另一个新的 API,我们可以使用 SwiftUI 中的新视图修饰符提供自定义的辅助功能内容。今天,我们学习了如何使用视图修饰符,通过为辅助技术优先处理我们的数据,以及根据需要允许用户访问更多详细信息,从而使我们的应用程序更具可访问性。原创 2024-01-15 20:08:49 · 1591 阅读 · 10 评论 -
如何在 SwiftUI 中实现音频图表
在可访问性方面,图表是复杂的事物之一。iOS 15 引入了一项名为“音频图表”的新功能。下面我们将学习如何通过使用视图修饰符为任何 SwiftUI 视图构建音频表示,呈现类似自定义条形图视图或图像的图表。音频图表功能对于视力受损的用户来说是一项重大改进。音频图表功能的好处是,可以将其用于任何您想要的视图,甚至包括图像视图。只需创建类型的实例。原创 2024-01-12 19:33:11 · 2105 阅读 · 5 评论 -
Swift 掌握 Observation 框架
Apple 推出了由 Swift 语言的宏功能支持的新观察框架。新的观察框架与 Swift 并发功能结合使用,允许我们替代 Apple 公司看起来已经过时的 Combine 框架。下面将介绍如何使用观察框架来处理应用程序中的数据流。这篇文章介绍了苹果引入的全新观察框架,该框架利用 Swift 语言的宏功能。新的观察框架结合了 Swift 并发功能,使我们能够替代苹果看似已经过时的 Combine 框架。总的来说,新的观察框架使 SwiftUI 中的数据流管理更加轻松和高效。原创 2023-12-20 21:51:56 · 1587 阅读 · 0 评论 -
Swift 中 User Defaults 的读取和写入
User Defaults 是 Swift 应用程序存储在应用启动之间保持的首选项的首选解决方案。它是由属性列表(plist)文件支持的键-值存储。由于这种类型的支持存储,你需要了解支持的存储类型。在使用 User Defaults 时有一些最佳实践。我还可以根据在数十个应用程序中使用它的实施经验,推荐特定的解决方案。让我们深入研究一下!应用程序通常使用 User Defaults 来存储用户的首选项。你可以存储首选项,例如用户最喜欢的股票或保存特定用户状态,例如“用户已看到引导”。原创 2023-12-07 20:13:04 · 2139 阅读 · 41 评论 -
Swift 如何实现自定义 Tab Bar
每个 UI 设计师都喜欢美丽而有动画效果的 Tab Bar。然而,对于开发人员来说,实现这种设计可能是一场噩梦。当然,使用 Apple 的原生 Tab Bar 组件并专注于更有趣的事情,比如业务逻辑的实现,会更容易。但如果我们必须创建自定义 Tab Bar 该如何实现呢?在本文中,将尝试回答这些问题。我们将介绍创建自定义 Tab Bar 的最重要方面。最终效果将是一个具有动画效果、易于扩展、完全自定义的 Tab Bar,希望它能为你节省将来的时间,使设计师梦寐以求的 Tab Bar 的实现更快捷和更舒适。原创 2023-12-05 10:52:42 · 2693 阅读 · 19 评论 -
使用 SwiftUI 创建一个灵活的选择器
最近,在我正在开发一个在 Dribbble 上找到的设计的 SwiftUI 实现时,我想到了一个点子,可以通过一些酷炫的筛选器扩展该项目以缩小结果列表。我决定筛选视图将由两个独立的筛选选项组成,两者都有一些可选项可供选择。但然后我遇到了一个问题。在使用 UIKit 时,我总是将这种类型的视图实现为具有特定的。但在 SwiftUI 中该如何实现呢?让我们来看看使用 SwiftUI 创建灵活选择器的实现!我的目标不仅是创建灵活的选择器的实现,还要尽量使其可自定义。因此,将使用符合Selectable。原创 2023-11-28 16:57:17 · 1776 阅读 · 53 评论 -
了解 SwiftUI 中 StoreKit 2 新功能
StoreKit 为我们提供了通过应用程序获得收入的机会。它允许我们设置应用内购买和订阅的购买流程。StoreKit 2 引入了一种基于现代 Swift 的 API,用于构建类型安全的应用内购买。下面我们将开始关于 StoreKit 2 的系列文章。这篇文章介绍了如何在 iOS 应用中使用 StoreKit 2 实现应用内购买和订阅功能。主要内容包括项目配置、构建 Paywall 功能、显示产品列表、购买产品、处理交易状态、监控交易更新和获取活跃订阅与购买。原创 2023-11-13 11:57:20 · 1926 阅读 · 94 评论 -
如何在后台执行 SwiftData 操作
SwiftData 是一个用于处理数据操作的框架,特别是在 Swift 语言中进行并发操作。本文介绍了如何在后台执行 SwiftData 操作以及与 Core Data 进行比较。在 Core Data 中,可以使用私有后台队列上下文来执行长时间运行的任务,以避免阻塞主队列。SwiftData 利用了 Swift 的并发特性,通过在 ModelActor 上创建上下文,实现了类似的后台操作。原创 2023-11-08 10:03:47 · 920 阅读 · 46 评论 -
如何使用 SwiftUI 中新地图框架 MapKit
了解 iOS 17 中的 MapKit 后,我们会发现 Apple 引入了更适合 SwiftUI 的 API。这就是在 iOS 17 中使用 SwiftUI 中的 MapKit 所需要了解的内容。通过引入 MapContentBuilder 和其他新的初始化器,可以更方便地创建交互式地图视图,添加标记、注释和自定义内容,并在用户移动地图相机时自动更新位置。此外,还可以使用 Map Style 修饰符和 Map 控件来自定义地图的样式和控件。原创 2023-11-04 16:09:45 · 1284 阅读 · 82 评论 -
掌握 SwiftUI 中的 ScrollView
SwiftUI 框架的第五个版本引入了许多与 ScrollView 相关的新 API,使其比以前更强大。本周将开始介绍 ScrollView 在 SwiftUI 中的新功能系列文章,首先我们将讨论滚动过渡。原创 2023-10-06 10:21:58 · 1152 阅读 · 56 评论 -
Swift 5.9 Macros 有哪些新更新
虽然 Swift 6 已经在地平线上浮现,但 5.x 版本仍然有很多新功能-更简单的 if 和 switch 用法、宏、非可复制类型、自定义 actor 执行器等等都将在 Swift 5.9 中推出,再次带来了一个巨大的更新。原创 2023-07-24 11:18:08 · 5835 阅读 · 122 评论 -
Swift 周报 第三十二期
骚年,努力去成为你期待已久的自己吧,就像Swift社区一样,时刻心怀梦想,不断向前!原创 2023-07-03 10:49:07 · 4725 阅读 · 140 评论 -
Swift 5.9 有哪些新特性(二)
在本文中,将介绍这个版本中最重要的变化,提供代码示例和解释,以便可以自行尝试。需要在 Xcode 14 中安装最新的 Swift 5.9 工具链,或者使用 Xcode 15 beta。原创 2023-06-29 10:31:15 · 8291 阅读 · 155 评论 -
在 Swift 中使用 async let 并发运行后台任务
Swift 异步编程是一种编写允许某些任务并发运行而不是按顺序运行的代码的方法。这可以提高应用程序的性能,允许它同时执行多个任务,但更重要的是,它可以用来确保用户界面对用户输入的响应,同时任务在后台线程上执行。原创 2023-06-25 10:11:44 · 6444 阅读 · 157 评论 -
Swift 5.9 有哪些新特性(一)
在本文中,将介绍这个版本中最重要的变化,提供代码示例和解释,以便可以自行尝试。需要在 Xcode 14 中安装最新的 Swift 5.9 工具链,或者使用 Xcode 15 beta。原创 2023-06-16 10:49:45 · 5583 阅读 · 58 评论 -
Swift 中的 Actors 使用以及如何防止数据竞争
Swift 中的 Actors 旨在完全解决数据竞争问题,但重要的是要明白,很可能还是会遇到数据竞争。本文将介绍 Actors 是如何工作的,以及你如何在你的项目中使用它们。原创 2023-05-29 11:29:13 · 5809 阅读 · 150 评论 -
SwiftUI 布局协议 - Part1
今年 `SwiftUI` 新增最好的功能之一必须是布局协议。它不但让我们参与到布局过程中,而且也给了我们一个很好的机会去更好的理解布局在 `SwiftUI` 中的作用。原创 2023-05-16 09:54:28 · 3611 阅读 · 149 评论 -
Swift AsyncThrowingStream 和 AsyncStream Demo 演示
AsyncThrowingStream 符合 AsyncSequence 协议,提供了一种不需要手动实现异步迭代器就能创建异步序列的便利方法。异步流适用于将基于回调或委托的API适配为可以与async-await一起使用的方式。原创 2023-05-12 11:30:24 · 4957 阅读 · 118 评论 -
Swift AsyncSequence — 代码实例详解
由于与 `AsyncThrowingStream和AsyncStream` 等类型一起使用,你很可能不得不与异步序列一起工作。因此,我将指导你使用 `AsyncSequence` 实例进行工作原创 2023-05-06 10:46:41 · 5728 阅读 · 76 评论 -
在 iOS 16 中用 SwiftUI Charts 创建一个折线图
本文展示了如何用比以前从头开始创建同样的折线图少得多的代码轻松创建折线图。此外,自定义图表的外观和感觉以及使图表中的信息易于访问也是非常容易的。原创 2023-04-27 17:45:51 · 3386 阅读 · 35 评论 -
Swift 周报 第二十七期
再暗的黑夜也会迎来黎明,再长的坎坷也会连接平川。怀抱Swift社区,一颗永不放弃的希望之心,明天将会是温暖的阳光雨露!原创 2023-04-19 10:48:45 · 11503 阅读 · 7 评论 -
Swift 周报 第二十六期
考验人的才能不在于他是否拿到一副好牌,而在于他能打好一副坏牌。选择Swift社区,教你打好人生的每一张卡牌!原创 2023-04-03 11:18:49 · 9166 阅读 · 2 评论 -
Swift 周报 第二十五期
选择与放弃,是生活与人生处处需要面对的关口。选择了Swift社区,就拥有了一道最靓丽的风景!原创 2023-03-22 17:48:53 · 5145 阅读 · 2 评论 -
Swift 中的 async/await ——代码实例详解
Swift社区的许多开发者对未来将出现的定义异步代码的结构化方式感到兴奋。现在它终于来了,我们可以用 async-await 简化我们的代码,使我们的异步代码更容易阅读。原创 2023-03-14 11:39:16 · 7017 阅读 · 4 评论 -
Swift 周报 第二十三期
勇敢是即便知道好结局不会每每降临在我们身上,但也依然选择热爱和坚持。Swift社区会伴你一起,见证每一刻勇敢的光亮!原创 2023-02-20 18:42:26 · 5500 阅读 · 0 评论 -
Swift 周报 第二十一期
本期是 Swift 编辑组自主整理周报的第十二期,每个模块已初步成型。各位读者如果有好的提议,欢迎在文末留言。Swift 周报在GitHub 开源,欢迎提交 issue,投稿或推荐内容。目前计划每两周周一发布,欢迎志同道合的朋友一起加入周报整理。烟花,如此短暂,却如此的奔放热烈。Swift社区,积聚无数力量,却只为给你展现一刹那辉煌!👊👊👊周报精选新闻和社区:苹果市值两年来首次跌破2万亿美元提案:弃用和Swift 论坛:改变一个属性包装器推荐博文:iOS 应用卡顿监控与治理您觉得烟花应该被禁止吗?原创 2023-02-02 10:37:40 · 1544 阅读 · 2 评论 -
Swift 周报 第二十期
在这个来去匆匆风云变幻的季节,Swift社区更像一个密不透风的茧,为的只是有朝一日能够破茧成蝶。👊👊👊原创 2022-12-28 11:30:38 · 5660 阅读 · 0 评论 -
Swift 周报 第十九期 |技术汇总
十期磨一剑,废铁亦有形,Swift社区就是你梦想已久的香格里拉,哪怕青冥长天,纵然绿水波澜!👊👊👊原创 2022-12-13 11:21:48 · 3058 阅读 · 1 评论 -
Swift 周报 第十八期 |技术汇总
周报精选新闻和社区:苹果 70 亿收购曼联消息不实提案:Package 注册表认证Swift 论坛:讨论数组的悬空指针推荐博文:灵动岛开发话题讨论:世界杯你赚钱了吗?你觉得国足几年内能进世界杯?原创 2022-11-28 12:07:29 · 905 阅读 · 0 评论 -
在 Swift 图表中使用 Foudation 库中的测量类型
在这篇文章中,我们将建立一个条形图,比较基督城地区自然散步的持续时间。我们将使用今年推出的新的SwiftCharts框架,并将看到如何绘制默认不符合Plottable协议的类型的数据,如。让我们先定义一下要在图表中展现的数据。我们声明了一个包含标题和步行时间(小时)的Walk结构体。我们使用Foundation框架中的测量类型和单位类型来表示每次步行的时间。我们在数组works中存储要在图表中显示的数据。原创 2022-11-18 10:05:03 · 1113 阅读 · 0 评论 -
Swift 周报 第十七期
风起雨坠袭大地,叶落冬来又一年。Swift社区,和你同风雨,与你共未来!👊👊👊原创 2022-11-14 15:50:25 · 1354 阅读 · 1 评论 -
Sourcery 的 Swift Package 命令行插件
Sourcery 是当下最流行的 Swift 代码生成工具之一。其背后使用了,旨在通过自动生成样板代码来节省开发人员的时间。Sourcery 通过扫描一组输入文件,然后借助模板的帮助,自动生成模板中定义的 Swift 代码。原创 2022-11-04 17:51:34 · 1434 阅读 · 0 评论 -
Swift 周报 第十六期
当你来到双水村以外的大世界,你的人生目标便不单单是一名庄稼人了。Swift社区陪你一起成长,一起创造更多可能!👊👊👊原创 2022-10-31 10:46:14 · 1209 阅读 · 0 评论 -
Sendable 和 @Sendable 闭包 —— 代码实例详解
Sendable和@Sendable是 Swift 5.5 中的并发修改的一部分,解决了结构化的并发结构体和执行者消息之间传递的类型检查的挑战性问题。原创 2022-10-20 11:28:41 · 1451 阅读 · 0 评论 -
Swift 周报 第十五期
十一假期与新一轮疫情撞了个满怀,远方的你还好吗?Swift社区愿与你携手,一起尖叫一起笑,一起撑伞一起闹!👊👊👊原创 2022-10-17 19:01:15 · 1468 阅读 · 0 评论 -
实现模块化应用的本地化
我已经有一段时间没有从头开始一个需要支持多种语言的新项目了。当然不是从头开始,而是在代码库中通过使用 Swift 包将代码分成不同模块。我想提醒自己记住许多在本地化实行中的过程,所以我认为最好写一篇文章,以便下次开始同类型项目时可以参考。原创 2022-10-14 11:55:36 · 1302 阅读 · 0 评论 -
在 iOS 16 中更改文本编辑器背景
上的默认背景,否则我们的自定义背景将不可见。然后,我们可以轻松地使用。视图修饰符的组合在SwiftUI中为。我们首先必须通过应用。从iOS 16开始,我们可以使用。原创 2022-10-13 15:30:40 · 1001 阅读 · 0 评论 -
LeetCode - #80 删除有序数组中的重复项 II
我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。LeetCode 算法到目前我们已经更新了 79 期,我们会保持更新时间和进度(周一、周三、周五早上 9:00 发布),每期的内容不多,我们希望大家可以在上班路上阅读,长久积累会有很大提升。不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家的需求。难度水平:中等。原创 2022-10-07 21:55:03 · 765 阅读 · 0 评论 -
LeetCode - #79 单词搜索(Top 100)
本题为 LeetCode 前 100 高频题我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。LeetCode 算法到目前我们已经更新了 78 期,我们会保持更新时间和进度(周一、周三、周五早上 9:00 发布),每期的内容不多,我们希望大家可以在上班路上阅读,长久积累会有很大提升。不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。原创 2022-10-03 21:04:23 · 610 阅读 · 0 评论 -
LeetCode - #78 子集(Top 100)
本题为 LeetCode 前 100 高频题我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。LeetCode 算法到目前我们已经更新了 77 期,我们会保持更新时间和进度(周一、周三、周五早上 9:00 发布),每期的内容不多,我们希望大家可以在上班路上阅读,长久积累会有很大提升。不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。原创 2022-09-29 17:15:04 · 601 阅读 · 0 评论