老司机 iOS 周报 #220 | 2022-10-24 #3656
ChengzhiHuang
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
文章
🐢 A Possible Vision for Macros in Swift
@kemchenj:前一段时间 Swift 团队决定将编译器的 Parser 改为使用 Swift 实现,并且将这一部分功能内置到 SwiftSyntax 里。
这意味着 Swift 成为了语法 API 的一等公民,我们可以很便捷地在 Swift 代码里里访问和修改自身(源代码),更进一步地说,我们可以通过代码去编写代码。
如果把这个功能集成到编译器和语法里,就成了我们熟知的宏 (macro)。趁着这个机会,Swift 团队思考了后续如何借助这套 API,提供宏的实现,并且分享了初步的设计思路到论坛里,希望大家可以一起参与讨论。
以往很多硬编码在编译器里的功能都可以改为通过宏系统进行实现,例如
Equatable
/Hashable
的实现自动合成等等:🐎 Which Collection?
@Smallfly:集合(Collection)是编程语言常用的类型,Swift 集合是值类型的,对于复杂的集合数据,频繁拷贝可能会带来性能问题。本文通过一个数独算法,介绍如何对数组做优化,主要利用了
some
关键字配合 Swift 5.7 协议支持关联类型的新特性实现。想了解更多请参考 SE-0346。🐕 Xcode 中使用 SPM 和 Build Configuration 的一些坑
@红纸:经喵神的相关测试发现,在 Xcode 中使用 SPM 的包编译时将参照 Build Configuration 的名字,自动选择使用 DEBUG 还是 RELEASE 模式来编译,这将导致编译宏、编译配置等一系列因素影响最终的二进制产物。
规则:若名字里包含有 Debug 或者 Development(不区分大小写)则选择 DEBUG 模式,反之则选择 RELEASE 模式。
🐕 iOS 灵动岛开发实践
@anotheren:灵动岛是 Apple 为 iPhone 14 Pro 系列带来的下一代交互体验。在 iOS 16.1 中,相关 API 已向开发者开放,并仅提供了 SwiftUI 版本的接口。本文从电商角度,带来了灵动岛开发的入门实践。但是并非所有功能都适合在灵动岛上展示,推荐核对 Apple 的人机交互设计指南中的 Live Activities 部分。
🐢 Swift Concurrency – Things They Don’t Tell You
@Cooper Chen:Swift Concurrency 提供了一种非常好的编写异步代码的方法,同时它也被宣传为使用安全。然而不幸的是 Swift Concurrency 编程有很多陷阱,而且编译器不会检查所有东西
代码
灵动岛开发示例代码
@anotheren:这是一份灵动岛开发的示例代码,包含了多个实例的展示,你可以结合上面灵动岛开发实践一起食用更佳。
音视频
Swift 视频教程 ChaoCode
@EyreFree:Swift 视频教程 ChaoCode 从 油管 入驻 B 站,从基础的 Swift 语法到中级 Swift 内容、 SwiftUI、用 Swift 制作完整 App 等都有,比较适合入门学习 Swift,感兴趣的朋友可以关注。
摸鱼周报
@摸鱼周报 #72:第 72 期摸鱼周报来了,一起来看下本期概要:
UIImageView
高亮时,会暂停当前的动画;Xcode 14 编译包在 iOS 12.2 以下设备崩溃的解决方案关注我们
我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
关注有礼,关注【老司机技术周报】,回复「2021」,领取 2017/2018/2019/2020 内参
同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。
说明
🚧 表示需某工具,🌟 表示编辑推荐
预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)
This discussion was created from the release 老司机 iOS 周报 #220 | 2022-10-24.
Beta Was this translation helpful? Give feedback.
All reactions