原创 iOS開發之多線程(2)—— Thread

目錄版本簡介方法屬性示例 版本 Xcode 11.5 Swift 5.2.2 簡介 一個Thread即爲一個線程. 方法屬性 OC中的屬性方法(Swift方法名類似): #pragma mark - 屬性 // 可以使用返回的字

原创 iOS開發之進階篇(6)—— 單元測試(Unit Tests 和 UI Tests)

版本 Xcode 11.5 目錄版本1. 概念1.1 單元測試1.2 測試用例1.3 斷言2. 準備工作3. Unit Tests4. UI Tests 1. 概念 1.1 單元測試 單元測試是指對軟件中的最小可測試單元進行檢查和

原创 iOS開發之Swift篇(2)—— 基礎部分

目錄版本基本語法1. Swift 引入2. 註釋3. 分號4. Swift 空格5. 打印輸出數據類型常量和變量1. 聲明2. 類型註解類型安全/推斷/轉換1. 類型安全2. 類型推斷3. 類型轉換可選類型1. 寫法2. nil3

原创 iOS開發之UI篇(12)—— UIWindow

版本 Xcode 10.2 iPhone 6s (iOS12.4) ( 本文示例所用測試版本如上, 一些方法結論可能不適用於較舊版本的iOS/Xcode, 如需使用應先測試驗證. ) 目錄繼承關係結構簡介App中有哪些常見wind

原创 iOS開發之Swift篇(5)—— 控制流

目錄版本控制流for-inswitch檢測API可用性 版本 Xcode 11.0 Swift 5.1 控制流 類似於其他語言, Switch中控制流關鍵字有: if guard while repeat-while for (

原创 iOS開發之進階篇(3)—— 版本控制

目錄前言本地倉庫 (使用Sourcetree)1. 創建本地倉庫2. 新增版本3. 分支4. 版本回退5. Sourcetree&Git部分名詞解釋遠程倉庫 (使用GitHub)1. 上傳 (Push)2. 下載 (Pull)3.

原创 iOS開發之進階篇(7)—— Block中的 weakSelf & strongSelf

目錄1. 概述2. 自定義block2.1 情況一2.2 情況二2.3 情況三2.4情況四3. 系統block3.1 GCD3.2 UIView3.3 網絡請求4. 何時使用 weakSelf & strongSelf ? 1.

原创 iOS開發之進階篇(1)—— 證書、打包上架流程、p12文件

目錄版本證書Apple DevelopmentApple DistributionApp打包上架流程App Store部分Xcode部分.p12文件 版本 Xcode 11.3.1 證書 iOS開發相關的證書有很多種,iOS開

原创 iOS開發之進階篇(4)—— 語言本地化(國際化)

目錄1. 準備工作2. 字符串本地化3. 圖片本地化3.1 圖片名稱本地化3.2 圖片本地化4. App名稱/系統權限提示框本地化6. 多人開發中本地化7. 應用內切換語言 1. 準備工作 本文以中英文切換爲例. 因爲系統默認語言

原创 iOS開發之多線程(1)—— 概述

目錄概述進程(Process) 和 線程(Thread) 概述 本系列文章將討論iOS中以下幾種多線程編程方式: 編程方式 語言 描述 出場率 線程週期 Thread OC/Swift 輕量級, 簡單易用 中 手動管

原创 iOS開發之多線程(3)—— GCD

目錄版本簡介幾個概念1. 任務(Task) 和 隊列(Queue)2. 同步(sync) 和 異步(async)3. 串行(Serial) 和 併發(Concurrent)4. 主隊列(Main Queue) 和 全局隊列(Glo

原创 iOS開發之進階篇(2)—— 本地通知和遠程通知 (使用APNs)

版本 iOS 10+ 目錄版本一. 概述二. 通知的管理和配置設置代理請求權限添加通知按鈕自定義警報聲音管理已發送的通知三. 本地通知四. 遠程通知 (使用APNs)原理準備工作流程1. 開啓推送通知功能2. 生成APNs Au

原创 iOS開發之進階篇(5)—— 單例

目錄1. 最終推薦寫法2. 何爲單例?2.1 單例概念2.2 幾個官方單例2.3 單例原理3. 對象的創建4. 單例寫法的討論過程參考 1. 最終推薦寫法 SingleObject.h #import <Foundation/F

原创 iOS開發之Swift篇(15)—— Swift與Objective-C混編

目錄版本Swift調用Objective-CObjective-C調用Swift簡單分析 版本 Xcode 11.3.1 Swift 5.1.3 Swift調用Objective-C 新建一個Swift工程,然後新建一個Objec

原创 iOS開發之Swift篇(14)—— 協議

目錄版本協議語法屬性要求方法要求構造器要求委託 版本 Xcode 11.3.1 Swift 5.1.3 協議 協議規定了用來實現某一特定功能所必需的方法和屬性。 類,結構體或枚舉類型都可以遵循協議,並提供具體實現來完成協議定義的方