阅读 3426

老司机 iOS 周报 #109 | 2020.04.13

老司机 iOS 周报,只为你呈现有价值的信息。

你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。

新手推荐

🐎 Using Closures to initialize properties in Swift

@anotheren:本文介绍了如何使用闭包来初始化存储属性,特别是使用 lazy var 来延迟初始化,你甚至可以在闭包中“安全”地使用 self。闭包将原本分散在程序各处的代码合理地组合到一起,推荐尝试。

@zvving:值得注意的是,lazy var 这种方式并不能做到 thread-safe,使用时有必要考虑到这点。更多的 Swift 资源竞争相关知识可以再阅读下 92 期周报推荐的 Thread Sanitizer explained: Data Races in Swift 一文。

🐎 tintColor

@水水: tintColor 是 UIView 中返回颜色的变量,如果未定义这个颜色,则返回系统的默认色(亮蓝色),就比如你不定义一个按钮的文字颜色,则你会看到默认的蓝色。并且通过将 tintColor 设置到视图控制器的视图上,您可以轻松更改应用程序的外观。更多关于 tintColor 的使用方法具体可以查看文章~

文章

🌟 🐢 揭秘 APM iOS SDK 的核心技术

@J_Knight_:本文参考了听云、OneAPM 和 Firebase Performance Monitoring 等 APM SDK,并结合代码分享了几项 APM 核心技术的实现:

  1. 页面渲染时间监控
  2. 启动时间监控
  3. 网络监控
    1. NSURLSession(NSURLSessionDataTask,NSURLSessionUploadTask,NSURLSessionDownloadTask 的 所有API)
    2. 响应时间(发送请求开始到服务端的相应到达客户端的时间间隔)

具体的实现方式可以参考文中的详细代码,对我们自己实现这些监控项目会有帮助。

🐕 看完这一篇,再也不用担心 Git 的“黑魔法”

@含笑饮砒霜:标题起的有点魔幻,其实本文算是对 Git 的一些基本命令做了一个粗略的概述,目的是抛砖引玉,让大家对 Git 有一个基本的认识。大家可以作为参考以便使用时查阅。

🐕 Understanding Swift's ObjectIdentifier

@Damonwong:ObjectIdentifier 是 Swift 中一个比较冷门的类型。这里的冷门并不是指作用不大,而是日常使用不多。在 Swift 内部,ObjectIdentifier 承载着重要的作用,是运算符 === 实现的根本。也可以作为 metatypes 相互比较的工具。(默认的 metatypes 不遵循 Hashable)。这篇文章主要是稍微简单的介绍了一下 ObjectIdentifier 是什么,ObjectIdentifier 的原理以及如何使用 ObjectIdentifier 来提高我们 App 的性能。

🐕 Configuring the Main Thread Checker

@老峰:本文是作者关于 Main Thread Checker 系列的第一篇,详细讲解了 Main Thread Checker 配置项如 MTC_MAX_HIT_COUNT(Main Thread Checker 停止之前,从后台线程调用给定方法的次数)等,另一篇着重讲 Main Thread Checker 实现原理,感兴趣的读者可以进一步研究。

🐎 探索?WhatsApp应用名称中的隐藏符号

@五子棋:本文是作者在一次偶然研究过程中发现一种特殊的字符,可以确保在复杂的从右至左的过程中保持名称显示的正确性。很简短的一篇文章,但是却很有趣,建议一读。

代码

Thrio

@CrazyCoderShi:flutter_boost 已经是 Flutter 混合开发体系一个有着举足轻重的框架了,但目前社区里似乎除了 flutter_boost 并没有其他可替代方案,最近哈啰出行团队开源了自家的 Flutter 混合开发框架 Thrio,更加轻量,入侵性更小,也不失为一个不错的选择。搭配这篇一起食用更佳。

内推

老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。

如果你想找工作,点这里:www.yuque.com/iosalliance…

如果你想招人,点这里:www.yuque.com/iosalliance…

当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。

关注我们

我们开通了公众号,每期发布时公众号(OldDriverWeekly)会推送消息,欢迎关注。

同时也支持了 RSS 订阅:github.com/SwiftOldDri…

说明

🚧 表示需翻墙,🌟 表示编辑推荐

预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)

关注下面的标签,发现更多相似文章
评论