forked from SwiftOldDriver/iOS-Weekly
-
Notifications
You must be signed in to change notification settings - Fork 0
/
#6.md
97 lines (49 loc) · 7.57 KB
/
#6.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# 老司机 iOS 周报 #6
![ios-weekly](../assets/ios-weekly.png)
老司机 iOS 周报,只为你呈现有价值的信息。
## 新闻
### [从 iOS 11.3 开始 App Store 的评价终于可以排序了](https://juejin.im/post/5a6e79e9f265da3e33049550)
从 iOS 11.3 开始,用户可以根据四个分类来给 App Store 评价排序,分别是“最有帮助”、“最高评价”、“最低评价”和“最新发表”。由于 iOS 11 之前的版本没法给 App Store 评价排序,所以这个改动会很受欢迎,特别是考虑到目前 App Store 会给一部分用户显示最早来自 2008 年的过时的、不相关的评价。
### [Apple Reports First Quarter Results](https://www.apple.com/newsroom/2018/02/apple-reports-first-quarter-results/)
苹果公司发布 2018 财年第一季度财报,财报显示,苹果第一财季营收 883 亿美元,较上年同期的 784 亿美元增长 13%,净利润为 201 亿美元,较上年同期的 179 亿美元增长 12%。
相比 2017 年,iPhone 的销量从 7829 万,下降至 7732 万。但平均销售价格从 695 美元增至 796 美元,营收 615 亿美元,较上年同期的 544 亿美元增长 13%。
### [Apple 宣布因信号问题召回部分 iPhone 7](https://www.apple.com/cn/support/iphone-7-no-service/)
Apple 已经确认,由于主板上的某个组件发生故障,一小部分 iPhone 7 可能会在状态栏中显示「无服务」。这些受影响的设备生产日期在 2016 年 9 月至 2018 年 2 月之间,售出地为中国内地、中国香港、日本、中国澳门和美国,Apple 将免费维修。
### [Transporter 支持上传 App 预览信息了](https://developer.apple.com/news/?id=01312018)
Apple 官方提供的分发工具 Transporter 现在支持上传 App 预览信息了,具体细节请参考 [Transporter 用户指南](https://help.apple.com/itc/transporteruserguide/) 和 [App 元数据规范](http://help.apple.com/itc/appsspec/),注意这两个文档都有中文版。
## 文章
### [数据结构 & 算法 in Swift (一):Swift基础和数据结构](https://juejin.im/post/5a7096fa6fb9a01cb64f163b)
学习通用性知识,突破技能瓶颈,[@J_Knight_](https://weibo.com/u/1929625262) 开始《数据结构与算法分析 -- Swift 语言描述》的连载.
此文作为开篇,将从 Swift 基础、数据结构开始。讲解一下后续连载中所涉及到的 Swift 语法知识,以及用 Swift 来实现几个简单的数据结构。
### 🚧 [Learn iOS Programming from Top Swift Articles of 2017](https://medium.mybridge.co/learn-ios-programming-from-top-swift-articles-of-2017-811de7273936)
MyBridge AI 从 15000 篇文章根据关键词 Swift 挑选出的最受欢迎的 45 篇文章。
### [Protocol Buffer 序列化原理大揭秘 - 为什么Protocol Buffer性能这么好?](http://blog.csdn.net/carson_ho/article/details/70568606)
Protocol Buffer 是由谷歌开发并开源。通过两端约定好报文格式,数据传输过程中直接编码成二进制包。因为数据不再自描述,所以数据就小了很多,因此传输效率比 XML、Json 都高很多。本文详细介绍了 Protocol Buffer 提高序列化性能采取的策略和编码规则。
### [Swift Tip: OpaquePointer vs. UnsafePointer](https://www.objc.io/blog/2018/01/30/opaque-vs-unsafe-pointers/)
`objc.io` 新文章,介绍了为什么将 C 类型导入到 Swift 时有些指针是 `OpaquePointer`,有些又是 `UnsafePointer<struct_type>`。如果你在开发中 Swift 需要与 C 交互的话,建议结合 [Unsafe Swift: Using Pointers And Interacting With C](https://www.raywenderlich.com/148569/unsafe-swift) 一起看。
### [最近很火的 Safe Area 到底是什么](https://juejin.im/post/5a7178116fb9a01c9d322d91?utm_source=gold_browser_extension)
iOS 11 出来很久了,适配的文章也很多,第一眼看到的时候我会觉得这个时候来写已经挺晚了,但看完之后觉得总结得是最好的,配图跟代码示例都有,重点的地方有加粗展示出来,这篇绝对值得 Mark 下来。
### [Pragmatic iOS Development: In defence of MVC](https://www.netguru.co/codestories/pragmatic-ios-development-in-defence-of-mvc)
社区里广为流传着`MVC 意味着非常臃肿的视图控制器`,但其实这只是 5 年前 Twitter 上的一个玩笑。
在开发中,大量的元素都需要一个外部委托,如果它们都委托给视图控制器,控制器将迅速的膨胀起来。但我们可以尝试另一种做法,控制器将任务委托给单独的第三方对象,自身不包含任何业务逻辑,只负责根据数据提供 UI 逻辑交互。如此便能使控制器保持小巧灵活。
### [Writing declarative code using Result Extensions](https://medium.com/@tyronemichael/writing-declarative-code-using-result-extensions-1ec45474101f)
给 [Result 类型](https://github.com/antitypical/Result)写 Extension 来编写声明式代码,创建高度灵活的代码和声明式 API,易于维护、阅读和测试。
### [Model-View-Controller without the Controller](https://www.cocoawithlove.com/blog/mvc-without-the-c.html)
觉得 MVC 不好用,想找点新思路?本文详细介绍了作者对传统 MVC 模式进行改造从而构建一种全新 ModelAdapter-ViewBinder (MAVB) 设计模式的历程,并提供了相应示例代码,对架构有兴趣的同学绝对不要错过。
### [Swift Algorithm Club: Hash Tables](https://www.raywenderlich.com/180171/swift-algorithm-club-hash-tables?utm_source=raywenderlich.comWeekly)
英文的 swift 算法文章,介绍 Hash Table 的基本原理,A hash table is nothing more than an array,文章从数组出发,介绍哈希值算法,数组 Index 计算,处理 index 冲突,值检索等方面,从0用 swift 教你一步步实现一个 hash table
## 工具
### [Transformer:EASY iOS NSAttributedString!](https://github.com/andresinaka/transformer)
一个在线的富文本编辑器,实时编辑富文本,然后转换生成 Swift 或 Objective-C 代码,目前支持 `文字粗细`、`划线样式`、`文字大小`、`前景色/背景色`、`文字对齐` 等功能,方便好用。
### [SwiftAI - Generate Model class from JSON](https://github.com/hhfa008/SwiftAI)
一个 Xcode 插件(也有独立 App),可将 JSON 转换成 Model,支持 `Codable` 和 `HandyJSON`。
## 代码
### [谷歌开源了一个 Promise 框架](https://github.com/google/promises)
标准的 Promise 库,谷歌出品,质量肯定是有保证的,具有轻量,高性能,安全,测试完备的优点。核心是使用 Objective-C 编写的,Swift 的版本是在 Objective-C 的基础上封装了一层(需要注意的是 Swift 版本暂时还[无法用 Cocoapods 集成](https://github.com/google/promises/issues/11))。
## 书
### [Swift Design Patterns](https://www.hackingwithswift.com/store/swift-design-patterns)
Hacking with Swift 刚刚发布的 Swift 设计模式书籍 -《Swift Design Patterns》。售价 40 刀,目前包含了 24 个常见的设计模式。附源码,而且会随着 Swift 版本的更新免费升级。属于最佳实践类型的书籍,价格在英文原版书籍中也不算贵,有钱的童鞋可以买了看看。
## 本期编辑
[@没故事的卓同学](https://weibo.com/1926303682/profile),[@四娘](https://kemchenj.github.io),[@mmoaay](https://weibo.com/u/1302422271),[@享耳先森](https://github.com/iblacksun),[@EyreFree](https://weibo.com/eyrefree777),[@Damonwong](https://weibo.com/damonone),[@折腾范儿_味精](http://weibo.com/agvicking),[@张嘉夫](https://weibo.com/2949394297),[@AidenRao](https://weibo.com/AidenRao)
## 说明
🚧 表示需翻墙