首页
学习
活动
专区
圈层
工具
发布

注册 WWDC 2025 的 Group Labs 了没? | 肘子的 Swift 周报 #085

文章以一个将 JSON 美化输出的小工具为例,从检测标准输入到异步读取数据,完整展示了实现流程与关键细节。...该架构强调: ✅ 单向数据流(Unidirectional Data Flow) ✅ 不可变数据(Immutable Values) ✅ 函数式编程思维 ✅ 严格的关注点分离与模块化设计 其核心主张是:...所有状态更新都通过 Action 触发,状态层响应更新,视图层自动订阅变更并重新渲染 —— 严格遵循数据从 Action → State → View 的单向流动。...如果你想了解如何将这个框架逐步引入现有项目,可以参考官方的迁移教程项目:ImmutableData-FoodTruck[20] ObservableDefaults - 让持久化数据优雅地融入 SwiftUI...让持久化数据优雅地融入 SwiftUI 的响应式架构。

35700
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Skip Fuse 现在对独立开发者免费! -- 肘子的 Swift 周报 #0110

    Alberto Salas[10]在文中介绍了其团队如何将项目结构管理从 SPM Packages 转换为 Tuist Targets,并系统梳理了问题成因、探索路径与决策过程。...苹果在 iOS 26 中添加了 Language Discovery[12]功能,通过设备端的机器学习,在确保隐私的前提下,基于用户的输入模式、内容消费、沟通语言以及应用偏好等行为数据,自动推断用户的语言使用习惯...在我的文章理解 SwiftUI 的视图刷新机制:从 TimelineView 刷新问题谈起[23]中,借由 TimelineView 个案系统阐述了视图声明、响应机制与递归更新的判定逻辑。...SwiftUI-DetectGestureUtil:为单个 SwiftUI 视图绑定多个自定义手势[27] 在 SwiftUI 中,让同一个视图同时识别多个手势一直是个棘手的问题。...utm_source=fatbobman%20weekly%20issue%20110&utm_medium=web [27] SwiftUI-DetectGestureUtil:为单个 SwiftUI

    17610

    架构之路 (五) —— VIPER架构模式(一)

    开始 首先看下主要内容: 在本教程中,您将了解如何在SwiftUI和Combine中使用VIPER体系结构模式,同时构建一个允许用户创建公路旅行的iOS应用程序,来自翻译。...这与SwiftUI不同,在SwiftUI中,视图显示任何新视图。 这种分离来自“Uncle”Bob Martin的Clean Architecture paradigm。...由于演示者presenter的工作是用数据填充视图,所以您希望从数据模型中公开旅程trips列表。...Creating a View with a Presenter 从SwiftUI视图模板中创建一个新文件,并将其命名为TripListView.swift。...传统上,模块会在单个契约中公开presenter, interactor and router的接口。这对SwiftUI没有太大意义,因为它是向前的view。

    20.7K10

    实现前后端分离开发:构建现代化Web应用

    定义API 前后端分离的关键是明确定义前后端之间的API。API定义了前端如何与后端进行数据通信。通常,API使用RESTful风格,通过HTTP请求来实现。.../123 DELETE请求删除用户: DELETE /api/users/123 定义清晰的API有助于前后端团队理解如何与对方进行通信,以及如何处理请求和响应。...前端可以使用AJAX或Fetch API来发送HTTP请求,并解析后端返回的JSON数据。后端负责处理这些请求,并返回JSON格式的响应。 6....我们使用React的useState和useEffect钩子来管理任务列表的状态和从API获取数据。...我们使用Express.js的中间件来解析JSON请求体,并返回JSON响应。 步骤4:数据交互 前端和后端之间的数据交互通常使用HTTP请求和响应。

    3.2K10

    Ask Apple 2022 与 SwiftUI 有关的问答(下)

    阅读 The SwiftUI Layout Protocol [11]了解如何创建自定义布局。创建从底部开始的滚动视图Q:我如何实现一个在底部对齐的滚动视图,在 macOS 上会不会有糟糕的性能?...Swiftcord[12] 的代码展示了如何在 SwiftUI 下实现倒置列表。阅读 优化在 SwiftUI List 中显示大数据集的响应效率[13] 一文,了解苹果工程师推荐的方法。...关于其他点,目前没有合适的 API 。连锁动画Q:在 SwiftUI 中,如何实现连锁动画?例如,我想先给一个视图做动画,当动画完成后立即启动另一个动画。A:不幸的是,目前不可能实现连锁动画。...对于可能造成卡顿的图片数据,放弃从托管对象的图片关系中直接获取的方式。在 Cell 视图中,通过创建 request 从私有上下文中提取数据并转换成图片。.../[12] Swiftcord: https://github.com/SwiftcordApp/Swiftcord[13] 优化在 SwiftUI List 中显示大数据集的响应效率: https:/

    19.7K30

    全新Swift从入门到进阶实战探探iOS APP

    SwiftUI框架在iOS应用开发中的具体应用案例是什么?SwiftUI框架在iOS应用开发中的具体应用案例可以从其与UIKit框架的比较中得到一些启示。...SwiftUI框架在iOS应用开发中的应用案例广泛且多样,从数据密集型应用到文本输入密集型应用,再到动态内容展示、教育和技术培训以及游戏开发等多个领域都有其身影。...其高效的数据处理能力和对复杂界面的良好支持使其成为现代iOS应用开发中的重要工具18。开发iOS应用程序时,如何有效地使用Swift和UIKit框架进行用户界面设计?...通过将应用逻辑、数据处理和用户界面分离,开发者可以更专注于UI设计,同时确保应用的其他方面也能高效运行。...这种方法通过细粒度负载平衡和动态数据通信,实现了在大规模核心上的强扩展性25。深度挖掘API文档以改进API映射:在进行iOS应用开发时,正确地映射不同编程语言之间的API是至关重要的。

    1.7K10

    肘子的 Swift 周报 | Swift,超越苹果生态!

    自 SwiftUI 问世以来,社区中不断有开发者尝试将其移植到其他平台,尽管声明式 UI 部分的实现相对顺利,但响应式处理一直是难题。...然而,在最近的 Let's VisionOS 2024[14] 活动中,Jane[15] 的演讲向我们展示了如何运用生成式 AI 服务处理自然语言,并以约定的格式返回 JSON 数据的技巧。...文章中不仅阐述了这一概念的实现过程,还附带了一个完整的演示,展现了如何在 SwiftUI 环境下应用这一技术。...在这篇文章中,Hina Khan 展示了如何使用 Playgrounds 进行图像处理,创造出既动态又吸引人的视觉效果。...实际上,该应用的复杂模板编辑器几乎完全使用 SwiftUI 开发,且表现出色。这一点彰显了 SwiftUI 在实际应用中的强大潜力和灵活性。

    73210

    惊险但幸运,两次!| 肘子的 Swift 周报 #0109

    SwiftUI 中的滚动吸附 (ScrollView snapping in SwiftUI)[6] 从 iOS 17 开始,开发者可以通过 scrollTargetBehavior控制 ScrollView...Natalia Panferova[7]在这篇文章中详细探讨了该 API 的用法,并分享了实践经验和需要注意的陷阱:视图对齐模式要求每个吸附目标适配可见区域;当单个项目尺寸超过容器大小时,滚动会感觉"卡住...在 精确掌控 SwiftUI 滚动:自定义 Paging 实现[8]一文中,我也介绍了如何通过自定义 ScrollTargetBehavior 解决横屏模式(Landscape)下滚动偏移、页面对齐不精确的问题...Danny Bolella[12]从多个层面展示了现代 Sheet 的可定制特性,并通过实例演示了这些特性如何让 Sheet 从“流程中断”转变为“上下文扩展”。...[22]By Jacob Bartlett[23] 介绍如何借助 MachOSwiftSection 从 Simulator runtime 抽取 Mach-O 并还原私有框架接口,解析 Swift 元数据结构

    18410

    Ask Apple 2022 与 SwiftUI 有关的问答(上)

    该 API 也有一个 forSelectionType 参数,支持多选。在 SwiftUI 4.0 中,contextMenu 的功能获得了不小的提高。...在单元测试中,很难对 SwiftUI 视图中的依赖( 符合 DynamicProperty 协议 )进行测试。这也是 Redux-like 框架的优势之一( 将状态从视图中抽离出来,方便测试 )。...在我的例子中,不拖动时从 0 到 75,拖动时从 0 到 100。有什么办法可以阻止这种情况吗?A:你可以用 .chartYScale(domain: 0 ... 75) 锁定 Y 轴的刻度域。...跨视图层次共享Q:在数据来自 API 响应的情况下,在多个视图之间共享数据的最佳方式是什么?.../init(for:content: "WindowGroup 上引入了新的 API")),可以让你在打开窗口时向其传递数据。

    15.9K20

    ViewBuilder 研究(下) —— 从模仿中学习

    SwiftUI 会在恰当的时机从开发者创建的视图 body 属性中读取这些描述并进行绘制。 依赖 我们常说,视图是状态的函数。对于单个视图来说,它的状态是由所有与之相关的依赖共同组成的。...SwiftUI 如何处理视图 SwiftUI 从加载视图、响应状态到屏幕绘制大概经历如下过程: 从根视图开始按视图层级结构沿特定分支(依据初始状态)逐个实例化视图,直到满足当前全部的显示所需 上述实例化后的视图值...(结构值,非 body 值)将被保存在 SwiftUI 的托管数据池中 根据视图的依赖信息在 AttributeGraph 数据池中创建与当前显示的视图树对应的依赖图,并监控依赖的变化 依据 SwiftUI...,按视图层级结构依当前状态逐个实例化视图类型(到满足全部显示所需为止) 将已不再需要参与布局和渲染的视图的值从 SwiftUI 数据池中移除,并在数据池中添加上新增的视图值 对于仍需显示但视图值发生变化的视图...EmptyView 会如何呢?

    3.6K20

    如何在SwiftUI中实现interactiveDismissDisabled

    如何在SwiftUI中实现interactiveDismissDisabled 如想获得更好的阅读体验,可以访问我的博客www.fatbobman.com[1] 本文中我们将探讨如何实现一个SwiftUI...3.0中新增功能——interactiveDismissDisabled的增强版;如何创建更SwiftUI化的功能扩展。...需求 由于健康笔记[2]中数据录入都是在Sheet中进行的,为了防止用户在录入过程中由于误操作(使用手势取消Sheet)丢失数据,因此,从最初的版本开始,我就一直使用各种手段加强对Sheet的控制。...在之前的版本中[8],用户使用手势取消时的通知和其他的逻辑是分离的,在使用中不仅繁琐,而且影响代码的观感。本次将一并解决这个问题。...通过学习和理解原生的API,可以让我们的实现更加符合SwiftUI的风格,整体的代码更加的统一。 希望本文能够对你有所帮助。

    5.6K40

    如何在Xcode下预览含有Core Data元素的SwiftUI视图

    如何在Xcode下预览含有Core Data元素的SwiftUI视图 从SwiftUI诞生之日起,预览(Canvas Preview )一直是个让开发者又爱又恨的功能。...结合两年来我在SwiftUI中使用Core Data的经验和教训,我们将在本文中探讨: •导致SwiftUI预览崩溃的部分原因•如何在之后的开发中避免类似的崩溃出现•如何在Xcode中安全可靠地预览含有...预览在Xcode中的工作原理同标准的模拟器十分接近。但为了让它可以即时响应SwiftUI视图的变化,苹果对其做出了不少的修改。...SwiftUI预设了大量同系统有关的环境值,通过设置或响应这些数据,我们可以修改系统配置或读取系统信息。 SwiftUI视图采用树状结构组织,在任意节点视图上注入的环境数据都将影响该节点的所有子视图。...通过采用单向数据流的方式,将视图描述同数据逻辑进行分离。

    6.7K10

    Thoughtworks第26期技术雷达——语言和框架

    它是从现有 API 中选取通用的功能——包括 UI、播放和媒体会话处理,然后将它们合并和改进成一个新的 API。Mediia3 目前仍处于早期开发版本。...例如处理一批数据,发送一条通知,或者执行某个常规的清理操作,都属于这类情况。但是谁都知道这个问题很难,一组处理器如何通过有延迟而且不稳定的网络来实现稳定的协作?...你可以通过 SpiceDB 创建一个数据模式以对你的权限需求进行建模,并使用客户端库将创建的模式应用到任何一个受支持的数据库中;你也可以向数据库中插入数据,并高效地检索问题的答案,例如查询 "这个用户有权访问某个资源吗...通常,我们提倡将授权策略与代码分离开,但 SpiceDB 更进一步,将数据与策略分离并将其以图的形式进行存储,以高效地应答授权信息的查询。...正因为这种分离,因此你必须确保应用程序的主要数据存储的变更会反映到 SpiceDB 中。

    2.5K50

    SwiftUI TextField进阶——格式与校验

    为什么不自己封装新的实现 对于很多从UIKit转到SwiftUI的开发者,当遇到SwiftUI官方API功能无法满足某些需求的情况下,非常自然地会想通过UIViewRepresentable来封装自己的实现...如何在TextField中实现格式化显示 现有格式化方法 在SwiftUI 3.0中,TextField新增了使用新老两种Formatter的构造方法。...如何在TextField中屏蔽无效字符 现有屏蔽字符方法 在SwiftUI中,可以通过设置仅使用特定的键盘类型来实现一定程度上的录入限制。...不利于判断用户是否录入新的信息(更多的信息可参阅如何在SwiftUI中创建一个实时响应的Form[10])。方案二中允许不提供初始值,支持可选值。...SwiftUI中创建一个实时响应的Form: https://www.fatbobman.com/posts/swiftui-input-form/

    10K20
    领券