老司機 iOS 週報,只為你呈現有價值的資訊。
新聞
從 iOS 11.3 開始 App Store 的評價終於可以排序了
從 iOS 11.3 開始,使用者可以根據四個分類來給 App Store 評價排序,分別是“最有幫助”、“最高評價”、“最低評價”和“最新發表”。由於 iOS 11 之前的版本沒法給 App Store 評價排序,所以這個改動會很受歡迎,特別是考慮到目前 App Store 會給一部分使用者顯示最早來自 2008 年的過時的、不相關的評價。
Apple Reports First Quarter Results
蘋果公司釋出 2018 財年第一季度財報,財報顯示,蘋果第一財季營收 883 億美元,較上年同期的 784 億美元增長 13%,淨利潤為 201 億美元,較上年同期的 179 億美元增長 12%。
相比 2017 年,iPhone 的銷量從 7829 萬,下降至 7732 萬。但平均銷售價格從 695 美元增至 796 美元,營收 615 億美元,較上年同期的 544 億美元增長 13%。
Apple 宣佈因訊號問題召回部分 iPhone 7
Apple 已經確認,由於主機板上的某個元件發生故障,一小部分 iPhone 7 可能會在狀態列中顯示「無服務」。這些受影響的裝置生產日期在 2016 年 9 月至 2018 年 2 月之間,售出地為中國內地、中國香港、日本、中國澳門和美國,Apple 將免費維修。
Transporter 支援上傳 App 預覽資訊了
Apple 官方提供的分發工具 Transporter 現在支援上傳 App 預覽資訊了,具體細節請參考 Transporter 使用者指南 和 App 後設資料規範,注意這兩個文件都有中文版。
文章
資料結構 & 演算法 in Swift (一):Swift基礎和資料結構
學習通用性知識,突破技能瓶頸,@J_Knight_ 開始《資料結構與演算法分析 -- Swift 語言描述》的連載.
此文作為開篇,將從 Swift 基礎、資料結構開始。講解一下後續連載中所涉及到的 Swift 語法知識,以及用 Swift 來實現幾個簡單的資料結構。
? Learn iOS Programming from Top Swift Articles of 2017
MyBridge AI 從 15000 篇文章根據關鍵詞 Swift 挑選出的最受歡迎的 45 篇文章。
Protocol Buffer 序列化原理大揭祕 - 為什麼Protocol Buffer效能這麼好?
Protocol Buffer 是由谷歌開發並開源。通過兩端約定好報文格式,資料傳輸過程中直接編碼成二進位制包。因為資料不再自描述,所以資料就小了很多,因此傳輸效率比 XML、Json 都高很多。本文詳細介紹了 Protocol Buffer 提高序列化效能採取的策略和編碼規則。
Swift Tip: OpaquePointer vs. UnsafePointer
objc.io
新文章,介紹了為什麼將 C 型別匯入到 Swift 時有些指標是 OpaquePointer
,有些又是 UnsafePointer<struct_type>
。如果你在開發中 Swift 需要與 C 互動的話,建議結合 Unsafe Swift: Using Pointers And Interacting With C 一起看。
最近很火的 Safe Area 到底是什麼
iOS 11 出來很久了,適配的文章也很多,第一眼看到的時候我會覺得這個時候來寫已經挺晚了,但看完之後覺得總結得是最好的,配圖跟程式碼示例都有,重點的地方有加粗展示出來,這篇絕對值得 Mark 下來。
Pragmatic iOS Development: In defence of MVC
社群裡廣為流傳著MVC 意味著非常臃腫的檢視控制器
,但其實這只是 5 年前 Twitter 上的一個玩笑。
在開發中,大量的元素都需要一個外部委託,如果它們都委託給檢視控制器,控制器將迅速的膨脹起來。但我們可以嘗試另一種做法,控制器將任務委託給單獨的第三方物件,自身不包含任何業務邏輯,只負責根據資料提供 UI 邏輯互動。如此便能使控制器保持小巧靈活。
Writing declarative code using Result Extensions
給 Result 型別寫 Extension 來編寫宣告式程式碼,建立高度靈活的程式碼和宣告式 API,易於維護、閱讀和測試。
Model-View-Controller without the Controller
覺得 MVC 不好用,想找點新思路?本文詳細介紹了作者對傳統 MVC 模式進行改造從而構建一種全新 ModelAdapter-ViewBinder (MAVB) 設計模式的歷程,並提供了相應示例程式碼,對架構有興趣的同學絕對不要錯過。
Swift Algorithm Club: Hash Tables
英文的 swift 演算法文章,介紹 Hash Table 的基本原理,A hash table is nothing more than an array,文章從陣列出發,介紹雜湊值演算法,陣列 Index 計算,處理 index 衝突,值檢索等方面,從0用 swift 教你一步步實現一個 hash table
工具
Transformer:EASY iOS NSAttributedString!
一個線上的富文字編輯器,實時編輯富文字,然後轉換生成 Swift 或 Objective-C 程式碼,目前支援 文字粗細
、劃線樣式
、文字大小
、前景色/背景色
、文字對齊
等功能,方便好用。
SwiftAI - Generate Model class from JSON
一個 Xcode 外掛(也有獨立 App),可將 JSON 轉換成 Model,支援 Codable
和 HandyJSON
。
程式碼
谷歌開源了一個 Promise 框架
標準的 Promise 庫,谷歌出品,質量肯定是有保證的,具有輕量,高效能,安全,測試完備的優點。核心是使用 Objective-C 編寫的,Swift 的版本是在 Objective-C 的基礎上封裝了一層(需要注意的是 Swift 版本暫時還無法用 Cocoapods 整合)。
書
Swift Design Patterns
Hacking with Swift 剛剛釋出的 Swift 設計模式書籍 -《Swift Design Patterns》。售價 40 刀,目前包含了 24 個常見的設計模式。附原始碼,而且會隨著 Swift 版本的更新免費升級。屬於最佳實踐型別的書籍,價格在英文原版書籍中也不算貴,有錢的童鞋可以買了看看。
本期編輯
@沒故事的卓同學,@四娘,@mmoaay,@享耳先森,@EyreFree,@Damonwong,@折騰範兒_味精,@張嘉夫,@AidenRao
說明
? 表示需翻牆