老司机 iOS 周报 #275 | 2024-01-15 #4390
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 提出。
文章
🐕 @Observable Macro performance increase over ObservableObject
@Barney:这篇文章主要介绍 WWDC 2023 中首次公开的 @observable 宏,这是一个设计精良的工具,旨在优化 SwiftUI 视图并提升应用性能。通过使用 @observable 我们能有效地防止不必要的视图重绘 , 并更流畅地观察状态变化。尽管使用 @observable 宏让我们无需再使用 @ObservedObject,ObservableObject 和 @published,但为了确立模型数据来源仍需依赖 @State。
🐎 Perception: A back-port of @Observable
@Smallfly:Swift 5.9 引入了强大的观察者工具 @observable 宏,但仅适用于 iOS 17、macOS 14、tvOS 17、watchOS 10 等新平台。由于少于 50% 的设备运行在 iOS 17 上,大多数开发者需要等待数年才能使用这些工具。swift-perception 提供了在低版本中使用 @observer 的能力,并且在高于 iOS 17 上会自动使用系统的实现。有需要的读者可以一试。
🐕 Adapting your App Icon to visionOS
@享耳先森:Apple Vision Pro 即将发售,如果你的 App 准备适配 visionOS,本文介绍了如何将现有的 App Icon 进行修改已完美匹配 visionOS 规范。
🐢 iOS Availability 编译器实现机制解析
@JonyFang: 文章探讨了 iOS 开发中的 Availability 机制,这是 iOS 编译器提供的一个用于处理不同 iOS 系统版本之间 API 兼容性问题的功能。该机制允许开发人员声明 API 的版本约束,并进行可用性检查来防止在旧版 iOS 系统上调用不存在的新 API,从而避免应用崩溃。然而,作者通过研究 Clang 和 Swift 编译器源码指出,Availability 的检查只局限于方法内部的直接调用,不能保证完全的运行时安全性。
🐕 Encrypted Portals between Macs – built in Swift and Rust
@水水:Portals 是一款 Swift 开发的 Mac 应用程序。它使用 Ockam Rust 库在 Mac 上与任何人、任何地方私下共享服务。该服务通过端到端加密的 Ockam 门户进行安全共享。你的朋友将可以在他们的本地主机上访问它!
代码
🐎 Missing compiler warning
@Cooper Chen:在 Swift 中,当 override 函数 / 方法具有相同名称但有更多参数,并且这些参数获得默认值时,理论上编译器会对这样的写法产生一个 waring,但是实际开发中并没有出现预期的警告,这个 issue 解释了以上行为的 root cause,并且提出可以使用
let _ = Printable.init(from:as:)("Sebastian")
这样的写法,同时也可以对 init 方法增加@_disfavoredOverload
关键字的写法,但需要提醒的是,并不推荐这样的用法,但这为有类似 case 的开发者提供很好的思路。内推
重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)
关注我们
我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。
关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参
同时也支持了 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 周报 #275 | 2024-01-15.
Beta Was this translation helpful? Give feedback.
All reactions