老司机 iOS 周报,只为你呈现有价值的信息。前端
你也能够为这个项目出一份力,若是发现有价值的信息、文章、工具等能够到 Issues 里提给咱们,咱们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。ios
@极速男孩:storyboard 做为 iOS 的一种对 viewcontroller 的控制的方法被普遍使用,本文简单介绍了如何快速的使用 storyboard 来对你的 viewcontroller 进行管理。git
本文是 TrampolineHook
框架系列文章最新的一篇。TrampolineHook
是一个中心重定向框架,能够经过一个函数替换/拦截全部你想要的函数的框架。若是对这个库不了解能够先看前面的几篇文章:github
本文主要讲该库在以前实现中的一个错误,关于上下文污染的问题,本文从汇编角度比较深刻的讲解了这个问题,但并不须要读者很了解汇编的内容,有兴趣的同窗能够看一下。json
@张嘉夫:前端这门技术,从诞生发展至今不过寥寥十余年。若是说前十年是 PC 前端的时代,那后十年必定是属于移动前端的时代。特别是随着网络制式的发展,移动设备在全球范围内获得了空前的普及,在前端领域,Hybird Web、React Native、Weex、Flutter 等等一系列新的移动前端技术也如同雨后春笋般冒出来。在这篇来自阿里巴巴新零售淘系技术部的文章中,做者分享了其对于「移动前端开发和 Web 前端开发」的理解,具体包括前端发展史回顾、移动前端混合技术的前世此生以及对将来回归本源的探讨。swift
@莲叔:SwiftUI 算是 Swift 近几个大版本中最使人兴奋的 feature,虽然很多同窗在试水后都得出了目前还不成熟的判断,但这并不影响其定位了将来的 UI 开发方式。本篇文章做者尝试聊了聊 SwiftUI 实现中的一些关键技术,主要描述了 function builder 机制,文章比较浅显易懂,内容很少,比较适合新手学习。后端
@xiaofei86:在 Document Based Apps 中,NSDocument 做为最重要的基类,提供了自动保存、线程安全、iCloud 冲突解决等功能。NSDocument 能够持有 Data 和 FileWrapper 两种类型的文件数据。FileWrapper 为自定义文件类型的容器,本文经过示例简单讲述了 FileWrapper 的应用,有兴趣能够阅读原文了解,也能够经过苹果 官方文档 了解更多 Document Based Apps 的开发指南。安全
@老驴:Notification extension 和 share extension 算是 iOS 中前两年比较火爆的话题了,这两年彷佛热点过去,你们关注的也很少,苹果也没有在这块继续着力,framework 更新的也不多。网络
这位做者就在开发中遇到了内存上限问题,Notification extension 最高只能支持 24 MB 的内存占用,而 Share extension 最多支持 120 MB 的内存占用。而开发中最有可能遇到内存上限问题的就是图片或者是视频了,做者使用了一些有意思的办法来绕过这样的限制,有兴趣的不妨来看看。app
@老峰:Feature Flagging (又名 Feature Toggle、Flip 等)是一种容许控制线上功能开启或者关闭的方式,一般会采起配置文件的方式来控制。本文做者以 WordPress 为例讲解了经过 配置 Build Configurations 等在 iOS 中实现 Feature Flags,WordPress-iOS 是个开源项目,感兴趣的读者能够点这里阅读源码。
@四娘:有时候后端下发的 JSON 文件会采起动态 key 的形式,那在 Codable 里该如何实现呢?这篇文章就介绍了如何动态 key 的结构该如何解析以及封装的方式。
@EyreFree:InterposeKit 是一个能够帮助咱们快速、优雅地在 Swift 中进行 Swizzle 的库,它的做者是 Peter Steinberger,你可能对这个名字没什么印象,但你可能听过他的另外一个开源库 —— Aspects。InterposeKit 是用纯 Swift 5.2 编写的,有完备的文档并通过了全面的测试。它能够用于 Objective-C 实例方法和被 @objc dynamic
修饰的 Swift 函数。推荐在 Swift 中有 Swizzle 需求的同窗一试,如下是一些关键点:
selector
的方式要好;revert()
轻松实现钩子的撤销;NSInvocation
;NSInvocation
或汇编的折衷;老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
若是你想找工做,点这里:www.yuque.com/iosalliance…
若是你想招人,点这里:www.yuque.com/iosalliance…
固然,也欢迎你关注咱们每一期的周报,咱们会在每期周报底部及时更新编辑内推岗位。
咱们开通了公众号,每期发布时公众号(OldDriverWeekly)会推送消息,欢迎关注。
同时也支持了 RSS 订阅:github.com/SwiftOldDri… 。
🚧 表示需某工具,🌟 表示编辑推荐
预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)