首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

肘子 Swift 周报 #001

因此,我决定重新创建一个电子周报,除了分享优秀作品和信息,个人也能在收集和整理过程中有所收获。 尽管互联网上已经有很多优秀电子周报,但作为一名以中文为主博主,我也有自己优势。...在 Fatbobman's Swift Weekly 中,除了为订阅者提供我个人博客最新消息外,还会分享其他优秀作者关于 Swift、SwiftUI、Core Data、SwiftData 等方面的内容...解密 SwiftUI 背后 AttributeGraph[12] KyleSwifter[13] 在工作中,作者发现在 watchOS 10 上某段代码会出现 AttributeGraph 循环依赖错误提示...通过定制 AttributeGraph 分析工具,最终发现根本原因来自于对 NSAttributedString 初始化方法错误调用,以及系统控件对 AG 碎片更新错误时机。...协议等主题,处理 Transactions 新方法,以及指定动画( specify animations)新选项。

25040

我庆幸果断放弃了SwiftUI:它还不够成熟

苹果传递出来消息就像是说:“SwiftUI 是一个了不起用户界面框架,而且 100% 绝对会成为苹果平台上应用开发未来。”...本文作者 chsxf,是一家独立游戏工作室首席开发,也是 15 年苹果用户,他想尝试将 SwiftUI 放到自己目中,但是最终失败了。...这是一很好技术,响应式方法非常适合许多典型基于视图需求,但对如何处理边缘情况,文档中非常缺乏相关说明。” “这是个好主意,但 SwiftUI 主要问题是完全不成熟。”...这是个宝贵机会,能让我认真体验一把 SwiftUI 并探索其内部工作原理。 起初项目工作良好,我对 SwiftUI 表现可以说非常满意,我甚至创建了自己修改器,以便更轻松地显示警报消息。...首先,由可选对象提供视图在每次重绘时都是在完全重新创建。我虽然通过缓存稍稍提升了性能表现,但实际体验仍然非常糟糕。事实证明,SwiftUI 检查器视图就是没法提供合理重绘速度。

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

【Rust日报】2020-04-12 - 如何在正确性至关重要Rust项目中进行错误处理

#rust 新增Apollo Federation网关协议支持,用rust写基于graphql接口微服务成为可能!改变用rust来写graphql只能做做玩具项目的现状。。。...actix相关视频教程,虽然看视频学比较慢,但是很适合初学者。...v=aEAz5DHhpLo&feature=youtu.be 如何在正确性至关重要Rust项目中进行错误处理 #rust #error_handing http://sled.rs/errors WGPU-rs...1.5 发布 #rust #graphics WGPU是一个基于 gfx-hal WebGPU 原生实现。...#rust 作者一直在思考Rust更改频率。有些人断言,Rust如今保持相当静态,还有一些人说Rust变化仍然太大。在这篇博客中,作者对这个问题进行数据驱动分析,拿事实数据说话。

58920

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

社区和生态系统支持:Swift成功部分归功于Apple对其生态系统严格控制以及明确表示将在不久将来替换Objective-C消息。...这些差异使得Swift成为了一个更适合现代开发需求语言,同时也反映了Apple在推动其平台向前发展方面的决心。如何在Swift中实现测试驱动开发(TDD)最佳实践?...利用声明式编程语言SwiftUI来实现用户界面可以显著提高开发效率和项目的质量19。...为了进一步提高UI设计质量和效率,开发者可以考虑使用静态分析工具(SonarQube和Codacy)来评估和改进他们SwiftUI项目19。...这包括了解语义错误常见原因以及如何通过测试和维护来减少这些错误发生24。采用基于任务并行处理和完全异步通信:在处理大量数据或复杂计算时,基于任务并行处理和完全异步通信可以显著提高性能。

24210

SwiftUI 状态管理系统指南

前言 SwiftUI与苹果之前UI框架区别不仅仅在于如何定义视图和其他UI组件,还在于如何在整个使用它应用程序中管理视图层级状态。...本周,让我们仔细看看这些属性包装器中每一个,它们之间关系,以及它们如何构成SwiftUI整体状态管理系统不同部分。...属性状态 由于SwiftUI主要是一个UI框架(尽管它也开始获得用于定义更高层次结构(应用程序和场景)API),其声明式设计不一定需要影响应用程序整个模型和数据层——而只是直接绑定到我们各种视图状态...(在这种情况下是一个Theme实例),然后SwiftUI处理其余事情。...我希望这篇指南能成为一个很好方式来概述SwiftUI各种状态处理机制,尽管一些更具体API被遗漏了,这篇文章中强调概念应该涵盖了所有基于SwiftUI状态处理绝大多数用例。

5K20

Swift 周报 第四十一期

2024 年挑战赛新增了一机制,我们将在 350 名获奖者中选出 50 名杰出获奖者,并对这些提交了优秀作品杰出获奖者予以表彰,邀请他们明年夏天前往位于库比提诺 Apple 园区度过难忘三天。...一旦为 Swift 6 准备好所有即将推出功能,语言指导组将提供一个迁移指南,建议以一种最佳路径逐步启用项目中严格并发检查,并提供有关如何处理某些常见代码模式中严格并发违规实际指导。...换句话说,专门用于非尽事枚举要求,即添加 @unknown 默认情况,以处理未来枚举案例,已从 “Swift 4 中警告/Swift 5 中错误” 降级为 “Swift 4 中运行时陷阱/Swift...这有点类似于我们如何在结果构建器中创建本地常量,这些常量不会立即被它消耗。 这个想法将扩展 if、guard 和 while 条件列表。...掌握 SwiftUI ContentUnavailableView [10] 摘要: 这篇博客介绍了如何在 SwiftUI中 掌握使用 ContentUnavailableView 类型。

21140

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

但是,如果你只是自己使用它,并且条件可控,那么不处理这些情况也是合理。创建一个考虑到所有情况通用布局( 例如:VStack、HStack )是一相当艰巨工作。...Swiftcord[12] 代码展示了如何在 SwiftUI 下实现倒置列表。阅读 优化在 SwiftUI List 中显示大数据集响应效率[13] 一文,了解苹果工程师推荐方法。...deprecated 版本是 Swift 框架作者一种沟通方式,即一个 API 不应该在新项目中使用,但在现有项目中继续使用也无妨。...因为这些使用并不有害,我们不希望开发者因为使用了新编译器版本而处理一堆警告。...A:是的,不幸是,像这样大型构造器表达式有时会让 Swift 编译器难以处理。遇到这种错误解决办法是把表达式拆成更小子表达式,特别是如果这些子表达式被赋予了明确类型。

14.7K30

肘子 Swift 周报 #014 | 发展要建立在稳定基础上

在撰写关于 Core Data 关系处理文章时,我发现了 SwiftData 在操作对多关系方面的一个令人疑惑设计( 处理不当会产生严重性能问题 )。...本周推荐另一篇文章也指出了 SwiftData 在处理挂起更改时问题。总的来说,新错误不断增加,旧问题仍没有得到改善。 我真心希望这些问题不要继续积累演变为对用户和开发者造成严重影响程度。...当然,本周也有一些令人振奋消息。据说 Siri 在使用生成式 AI 方面取得了显著进展,预计在今年 WWDC 上将有惊喜亮相。...SwiftData,作为 Core Data 后继技术,理应具有类似的特性。然而,在相似的配置环境下,SwiftData 并未能像 Core Data 那样有效地处理这些更改。...该工具能够调整屏幕顶部状态栏显示各种信息,时间、电池电量和网络信号等。开发者在准备应用商店截图或者进行其他专业演示时,经常依赖这一工具来确保状态栏信息一致性和专业外观。

11710

SwiftUI 动画机制

关联方式有:视图修饰符 animation 或全局函数 withAnimation 。 SwiftUI 动画异常(与开发者预期不符)很多情况下均与错误关联方式、错误关联位置等因素有关。...至于如何利用这些动画数据(插值数据)生成动画,则是由与特定依赖关联可动画部件决定。...且依赖了 startAnimation 动画处理过程: 点击按钮改变依赖 startAnimation SwiftUI 会立即完成对 startAnimation 值改变(依赖值改变发生在动画开始前...比如,在出场动画进行中时,将状态 show 恢复成 true ,SwiftUI 将会保留当前分支状态(不会重新创建视图,参见本文附带范例)。...因此有很大可能因为对视图识别错误,而产生动画异常。下面的动图中,当出现相同元素时,SwiftUI 给出了警告提示。

14.6K40

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

何在Xcode下预览含有Core Data元素SwiftUI视图 从SwiftUI诞生之日起,预览(Canvas Preview )一直是个让开发者又爱又恨功能。...结合两年来我在SwiftUI中使用Core Data经验和教训,我们将在本文中探讨: •导致SwiftUI预览崩溃部分原因•如何在之后开发中避免类似的崩溃出现•如何在Xcode中安全可靠地预览含有...可以在预览视图中看到对应UUID目录名(必须在动态预览模式下才会显示)。 image-20210827150544279 通过清空对应目录,即可完成上面的1、4、5。...SwiftUI预设了大量同系统有关环境值,通过设置或响应这些数据,我们可以修改系统配置或读取系统信息。 SwiftUI视图采用树状结构组织,在任意节点视图上注入环境数据都将影响该节点所有子视图。...将三个数据库文件(包括wal和shm)一并拖入项目中,创建一个使用Bundle中数据库文件NSPersistentContainer,方便我们预览使用了复杂数据模型视图。

5.1K10

Swift 周报 第四十二期

一位苹果员工表示:“我们接手了英特尔一个失败项目,我们盲目自信地认为可以成功”。据说苹果硬件技术部门在众多项目中“捉襟见肘”,各项资源没有向其倾斜,导致难以解决错误。...提案 正在审查提案 SE-0413[2] Typed throws 提案正在审查。 Swift 错误处理模型允许标记为 throws 函数和闭包指示它们可以通过引发错误来退出。...错误值本身始终被类型擦除为 any Error。这种方法鼓励以通用方式处理错误,并且对于大多数代码来说仍然是一个很好默认选项。...然而,有一些情况下类型擦除是不幸,因为它不允许在可能且有必要处理所有错误狭窄位置进行更精确错误类型化,或者在类型擦除成本很高情况下。...SwiftUI作用域动画[10] 摘要: 文章介绍了在 SwiftUI 中使用作用域动画新方法。首先,我们回顾了以前在 SwiftUI处理动画方式,并指出了其中一些缺点。

20510

肘子 Swift 周报 #019 | 超越代码,拥抱思维转变

欢迎访问 fatbobman.substack.com[1] 订阅本周报中英文电子邮件版本。 肘子的话 经过几个月对 SwiftData 研究,我最近才在项目中正式采用了它。...这些属性包装器涵盖了不同框架声明周期整合、辅助聚焦、焦点值观察管理等功能。 Swift 语言属性包装器与 SwiftUI 诞生于同一年。...希望这些内容能对大家在使用 SwiftUI 时提供有价值指导和帮助。...作者 Jacob Bartlett 采用了既详细又易于理解方式,解析了方法派发基本概念和各类方法派发(包括静态派发、表派发和消息派发)如何影响代码性能表现。...该库通过丰富 Swift 标准库算法集合,为开发者在数据处理和计算执行上提供了极大便利。

8710

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

SwiftUI 问世以来,社区中不断有开发者尝试将其移植到其他平台,尽管声明式 UI 部分实现相对顺利,但响应式处理一直是难题。...在这篇文章里,Rudrank Riyam 为我们揭示了如何利用 Claude 3 Haiku —— 一种既经济又高效后端服务,来为音乐应用提供消息流式处理功能。...文章中不仅阐述了这一概念实现过程,还附带了一个完整演示,展现了如何在 SwiftUI 环境下应用这一技术。...本文通过浅显易懂方式介绍了图像处理基本概念,使读者能够掌握并应用这些技术创造个性化图像效果。...在转向 AppKit 过程中,他探讨了一些鲜为人知 AppKit 组件, NSTableHeaderCell 等,并通过 NSViewRepresentable构建了 SwiftUI 与 AppKit

11610

苹果推出 SwiftData,可替代 SwiftUI Core Data

在几年前通过 SwiftUI 改变了 UI 在其平台上定义方式后,苹果正在迈出超越 Core Data 第一步,即一个基于 ORM、严格绑定于 Objective-C 动态能力持久化框架。...虽然 SwiftUI 所提供 API 让持久化模型定义成为可能,但这种方式却颇为繁琐。...此外,将 SwiftUI 视图接入持久化模型只需使用一个新 @Query 属性。...SwiftData 中还提供对谓词(Predicate)定义支持,可用于过滤数据。编译时对谓词进行检查,并对类型不匹配问题报编译错误。...为让开发者能更为轻松地迁移至 SwiftData,该框架支持在现有 Core Data 应用中逐步采用,在苹果提供演示项目中展示了如何在一个 Core Data 应用中仅部分使用 SwiftData

94830

SwiftUI TextField进阶——格式与校验

SwiftUI TextField进阶——格式与校验 想获得更好阅读体验,请访问我博客 www.fatbobman.com[1] SwiftUITextField可能是开发者在应用程序中最常使用文本录入组件了...在为SwiftUI增加新功能时,要求自己尽量遵守以下原则: •优先考虑能否在SwiftUI原生方法中找到解决手段•确需采用非原生方法,尽量采用非破坏性实现,新增功能不能以牺牲原有功能为代价(需兼容官方...如何在TextField中屏蔽无效字符 现有屏蔽字符方法 在SwiftUI中,可以通过设置仅使用特定键盘类型来实现一定程度上录入限制。...另外,需要考虑到首字符为-以及最后字符为小数点情况,因为parseStrategy会在转换后丢失这些信息,我们需要在最终转换结果中重现这些字符。...不利于判断用户是否录入新信息(更多信息可参阅如何在SwiftUI中创建一个实时响应Form[10])。方案二中允许不提供初始值,支持可选值。

8.1K20

肘子 Swift 周报 #032|不要等到遇到障碍时才意识到无障碍重要性

在今年全球无障碍意识日(GAAD),苹果公司宣布推出一系列 新辅助功能[4],这些功能进一步扩展了其技术包容性。...通过一性能基准测试,他比较了 Swift Vapor、Node. js、PHP FPM + NGINX 和 Kotlin Helidon 等技术实现 web 服务器在处理负载时表现,特别关注了吞吐量...例如,Eric 曾在他前公司目中遇到一个问题:超过 3000 个单元测试每天需要花费大约 420 分钟来运行。为了解决这个问题,他提出了一个“选择性测试”方案。...Thomas Durand 在本文中探讨了如何在引入新功能同时确保 API 向后兼容性,阐述了一系列策略版本控制和向后兼容变更,确保不同版本应用能平滑过渡并减少用户干扰。...文章中提到示例和测试都基于 Vapor 框架进行说明,展现了如何处理 API 逐步演化而不牺牲旧版本应用功能性。

10810

优化在 SwiftUI List 中显示大数据集响应效率

SwiftUI 内部处理机制。...另外如果 id 标识值发生变化,SwiftUI 将丢弃原视图(生命周期终止及重置状态)并重新创建视图。...但一旦为这些子视图添加了 id 修饰符,这些视图将无法享受到 List 提供优化能力 ( List 只会对 ForEach 中内容进行优化)。...虽然我们已经找到了导致进入列表视图卡顿原因,但如何在不影响效率情况下通过 scrollTo 来实现到列表端点滚动呢?...总结 相较于 UIKit ,已经推出了 3 年 SwiftUI 仍有很多不足。但回首最初版本,现在我们已经可以实现太多以前无法想象功能。期盼 6 月 WWDC 会带来更多消息

9.1K20

肘子 Swift 周报 #031 |苹果用 M4 来展现拥抱 AI 决心

我迫切希望了解苹果如何在 AI 性能、能耗、隐私、开发便利性和使用体验等方面找到平衡。...尽管生成式 AI 目前正处于热潮之中,且苹果与一些顶尖生成式 AI 服务商之间合作消息不断,但我始终认为,日常 AI 功能主要应该基于本地设备,使用较小模型,以对用户几乎无感方式默默服务。...ContinuousClock 是一个持续运行时钟,不会因为系统睡眠或其他因素而停止。而 SuspendingClock 在系统挂起(进入休眠状态)时会停止。...除了阐述如何在应用中部署机器学习模型具体技术步骤外,本文还深入探讨了相关最佳实践和可能遇到挑战。...尽管过程中遇到了一些挑战,作者指出,出现验证错误并不一定意味着模型有问题,因为这些比较是基于绝对差值进行,而这些差值有时处于可接受范围之内。

13810

SwiftUI 与 Core Data —— 数据获取

通过新创建一个可以使用 Mock 数据 FetchRequest ,实现了 SwiftUI 与 Core Data —— 问题[6] 一文中提出可测试、可预览、可模块化目标。...在 SwiftUI 中,ForEach 会根据数据标识( Identifier )自动处理视图添加、删除等操作,因此,当在 SwiftUI 中使用 NSFetchedResultsController...( State )实现类似的效果。...当 SwiftUI 在视图存续期中重新创建视图描述实例时,自定义类型也将一并重新创建在视图存续期中,如果 SwiftUI新创建了视图描述实例,那么无论视图描述( 符合 View 协议 Struct...在下一篇文章中,我们将探讨如何在 SwiftUI 中安全地响应数据,如何避免因为数据意外丢失而导致行为异常以及应用崩溃。希望本文能够对你有所帮助。

4.6K30

肘子 Swift 周报 #034 | WWDC 2024,AI 并非全部

对于尚未学习或使用 SwiftUI 开发者来说,这意味着需要投入更多精力去掌握这些新工具。 鉴于今年 WWDC 充满看点,建议大家调整好状态,全情投入到一周后盛会中。...尽管使用私有 API 会导致应用无法通过 App Store 审核,但开发者仍可以通过这种方式了解到 iOS 系统图标处理机制内部工作原理,为其他合规创新应用提供灵感。...6 即将到来,越来越多开发者在他们目中启用了严格并发检查。...在本文中,Natalia Panferova 深入分析了这些场景类型用途和实现方式,帮助开发者充分利用 SwiftUI 强大功能,构建出更丰富、更高效 macOS 应用程序。...该指南内容全面,包括:详解 Swift 数据竞争安全模型、指导如何在 Swift 5 项目中开启完整并发检查、如何渐进式采用并发技术,以及介绍解决常见问题有效策略。

7510
领券