老司机 iOS 周报 #69 | 2019-05-27

栏目: IOS · 发布时间: 5年前

内容简介:老司机 iOS 周报,只为你呈现有价值的信息。你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到

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

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

新闻

WWDC19 Schedule

@红纸 :WWDC 2019 已临近,特此献上日程表以供各位进行提前查阅。 (另外推荐一款 macOS 下的观看应用 WWDC 。)

新手推荐

@邦Ben:作为一名 iOS 原生开发,如何更好的进入 Flutter?该文通过类比 iOS 开发中的概念来解释 Flutter 相关的内容,都是一些相当常见的基础内容,非常适合入门。Flutter 的热加载其实提供很好的入门试错体验,毕竟,你只需要保存一下就知道你写错了还是写对了,因此,入门的学习成本降低了不少。个人感觉,入门曲线要低于 ReactNative。

该文分为上下两篇:

@极速男孩007 :本文介绍了如何通过修改 UIButton 的 contentEdgeInsets 和 titleEdgeInsets 还有 imageEdgeInsets的值,来改变 UIButton 中图片和文字的位置。

文章

@含笑饮砒霜:值对象是自定义类型,它们是代表我们应用程序一部分的小型精确类型。与值类型一样,值对象应该是不可变的,值对象通过利用值类型的不变性以及添加自我验证的能力来帮助我们编写更易于理解,更容易测试,更安全的代码 。我希望您可以试一试。

@xiaofei86:本文先是简单的介绍了 autoreleasepool 在 Objective-C 中的使用场景——在循环体中大量创建 autorelease 对象。而 ARC 对 Swift 的优化在过去几年中进步了很多,根据作者的测试,似乎 ARC for Swift 从不调用 autorelease,而是用多次调用 release 来替代。所以对于纯粹的 Swift 对象我们可能不再需要 autoreleasepool。但在 Swift 开发中 autoreleasepool 仍然有用,因为在 UIKit 和 Foundation 中仍然存在调用 autorelease 的遗留 Objective-C 类。以上便基本是本文的所有内容,如果你对 autorelease 的问题还不是很了解,可以去继续阅读原文。

@享耳先森 :在 2014 年 Apple 发布 Apple Pay ,iPhone 7 和 iPhone 7 Plus 是第一批支持 NFC 功能的设备。iOS 11 终于发布了 CoreNFC 框架,第三方 App 可以在前台读取 NFC tags,iOS 12 增强了 CoreNFC 的能力,允许在后台读取 tags 并通过 Universal Link 技术唤起 App。iOS 13 马上就要发布了,相信开发者们十分期待 Apple 开放 NFC 写入功能。

文章详尽的描述了如何从零开发一个读取 NFC tags 的应用,甚至十分贴心的介绍了如何制作 tags 供测试使用,建议对 NFC 有兴趣的开发者们读一读。

@zvving :带有关联值的枚举被用在 Optional、Resutl 等场景、为编码带来更丰富且严谨的语义。作者通过一处网络数据解析的案例,展现定义枚举相比类或结构体的优势。也详细介绍了在此基础上如何实现 Codable 协议,支持持久化。

:racehorse: Empty Strings in Swift

@JimQ 一个 string 是否 empty 可能有三种不同的含义:1. 长度为零;2. 只包含空白符;3. 可选值为空。针对这三种含义,文章分别给出了最优 & 最 Swift 化的判断方法。

:dog2:OOM 与内存

@looping :本文作者从一起可疑的崩溃现象,即从崩溃日志上看,设备还有很多可用内存,但是排查发现,却是内存分配失败后对无效地址的访问错误;再结合内存分配方式,发现每种类型的内存分配地址都是有上限的,也就是说即便在设备依然有可用内存的情况下,如果某个类型的内存地址被分配完毕,同样会引发 OOM 问题。

本文不管是对问题排查过程的描述,还是对 malloc_zone 的分析介绍,都是一份很好的学习资料,感兴趣的同学可以深入学习下。

工具

:star2:i18ns.com

@张嘉夫 :i18ns.com 是一个免费的多语言翻译搜索网站,致力于让软件国际化变得简单便捷。作者从长期的软件开发过程中发现,超过50%的软件文案都是可复用的,而在同类别软件中可复用的内容甚至超过80%以上,于是创建了这个网站。 期望能帮助广大小微开发者能更廉价更便捷地完成软件国际化翻译。

Fledge

@老峰 :Fledge 是一个构建 Flutter 项目的 CI/CD(持续集成/持续部署)工作流工具,包括自动构建、测试、签名和发布 Apple Store 和 Google Store,支持 Travis、Jenkins、GitLab 等,感兴趣的同学还以点这里。

代码

Flutter4GitLab

@CrazyCoderShiFlutter4GitLab纪阳 同学用 Flutter 实现的一个 GitLab 客户端,只实现了一部分功能。对于正在学习 Flutter 的同学是一个不错的一手参考资料, 项目中的一些插件的使用很是值得学习, 比如:

  • xml 解析
  • html 标签展示
  • 通过 stetho 连接 Chrome 的 Network Inspector

内推

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

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

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

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

关注我们

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

老司机 iOS 周报 #69 | 2019-05-27

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


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

构建可扩展的Web站点

构建可扩展的Web站点

Cal Henderson / 徐宁 / 电子工业出版社 / 2008 / 58.00元

随着Web 2.0网站的蓬勃发展,如何成功地构建可扩展的Web站点成为网站开发人员必备的技能。本书是Flickr.com的主力开发人员讲解构建可扩展的Web站点的经典之作。本书主要介绍了Web应用程序的概念、体系结构、硬件需求、开发环境的原则及国际化、本地化和Unicode等基本内容,并为解决Web应用程序的数据安全、电子邮件整合、远程服务交互、应用程序优化、扩展、监测和预警、开放API等问题提供......一起来看看 《构建可扩展的Web站点》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换