You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
老司机 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