Swift基礎(chǔ)之開篇

Swift簡介

Swift,蘋果于2014年WWDC(蘋果開發(fā)者大會)發(fā)布的新開發(fā)語言,可與Objective-C共同運行于Mac OS和iOS平臺,用于搭建基于蘋果平臺的應(yīng)用程序。
Swift是一款易學(xué)易用的編程語言,而且它還是第一套具有與腳本語言同樣的表現(xiàn)力和趣味性的系統(tǒng)編程語言。Swift的設(shè)計以安全為出發(fā)點,以避免各種常見的編程錯誤類別。
2015年12月4日,蘋果公司宣布其Swift編程語言現(xiàn)在開放源代碼。長600多頁的 The Swift Programming Language 可以在線免費下載。

感言

至今swift才剛兩歲,但是但是作為計算機語言家族的新寵,這位磨人的小妖精已經(jīng)吸(gou)引(da)了大批腦殘粉,而作為蘋果開發(fā)者的我們,還有什么理由不趕快去一親芳澤呢,小朋友們,再不開始馬上立刻上車終將被歷史的車輪碾成粉末,so,let us go!

Swift完整學(xué)習(xí)路線


基礎(chǔ)部分-The Basics

常量和變量 聲明常量和變量 類型標(biāo)注 常量和變量的命名 輸出常量和變量 注釋 分號 整數(shù) 整數(shù)范圍 Int UInt 浮點數(shù) 類型安全和類型推斷 數(shù)值型字面量 數(shù)值型類型轉(zhuǎn)換 整數(shù)轉(zhuǎn)換 數(shù)整數(shù)和浮點數(shù)轉(zhuǎn)換 類型別名 布爾值 元組 可選 nil if 語句以及強制解析 可選綁定 隱式解析可選類型 錯誤處理 斷言


基本運算符-Basic Operators

術(shù)語
賦值運算符
算術(shù)運算符
組合賦值運算符
比較運算符
三目運算符
空合運算符
區(qū)間運算符
邏輯運算符


字符串和字符-Strings and Characters

字符串字面量
初始化空字符串
字符串可變性
字符串是值類型
使用字符
連接字符串和字符
字符串插值
Unicode
計算字符數(shù)量
訪問和修改字符串
比較字符串
字符串的 Unicode 表示形式


集合類型-Collection Types

集合的可變性(Mutability of Collections)
數(shù)組(Arrays)
集合(Sets)
字典(Dictionaries)


控制流-Control Flow

For-In 循環(huán)
While 循環(huán)
條件語句
控制轉(zhuǎn)移語句(Control Transfer Statements)
提前退出
檢測 API 可用性


函數(shù)-Functions

函數(shù)定義與調(diào)用(Defining and Calling Functions)
函數(shù)參數(shù)與返回值(Function Parameters and Return Values)
函數(shù)參數(shù)名稱(Function Parameter Names)
函數(shù)類型(Function Types)
嵌套函數(shù)(Nested Functions)


閉包-Closures

閉包表達(dá)式(Closure Expressions)
尾隨閉包(Trailing Closures)
值捕獲(Capturing Values)
閉包是引用類型(Closures Are Reference Types)
非逃逸閉包(Nonescaping Closures)
自動閉包(Autoclosures)


枚舉-Enumerations

枚舉語法(Enumeration Syntax)
使用 Switch 語句匹配枚舉值(Matching Enumeration Values with a Switch Statement)
關(guān)聯(lián)值(Associated Values)
原始值(Raw Values)
遞歸枚舉(Recursive Enumerations)


類和結(jié)構(gòu)體-Classes and Structures

類和結(jié)構(gòu)體對比
結(jié)構(gòu)體和枚舉是值類型
類是引用類型
類和結(jié)構(gòu)體的選擇
字符串(String)、數(shù)組(Array)、和字典(Dictionary)類型的賦值與復(fù)制行為


屬性-Properties

存儲屬性(Stored Properties)
計算屬性(Computed Properties)
屬性觀察器(Property Observers)
全局變量和局部變量(Global and Local Variables)
類型屬性(Type Properties)


方法-Methods

實例方法(Instance Methods)
類型方法(Type Methods)


下標(biāo)腳本-Subscripts

下標(biāo)語法
下標(biāo)用法
下標(biāo)選項


繼承-Inheritance

定義一個基類(Defining a Base Class)
子類生成(Subclassing)
重寫(Overriding)
防止重寫(Preventing Overrides)


構(gòu)造過程-Initialization

存儲屬性的初始賦值
自定義構(gòu)造過程
默認(rèn)構(gòu)造器
值類型的構(gòu)造器代理
類的繼承和構(gòu)造過程
可失敗構(gòu)造器
必要構(gòu)造器
通過閉包或函數(shù)設(shè)置屬性的默認(rèn)值


析構(gòu)過程-Deinitialization

析構(gòu)過程原理
析構(gòu)器實踐


自動引用計數(shù)-Automatic Reference Counting

自動引用計數(shù)的工作機制
自動引用計數(shù)實踐
類實例之間的循環(huán)強引用
解決實例之間的循環(huán)強引用
閉包引起的循環(huán)強引用
解決閉包引起的循環(huán)強引用


可選鏈-Optional Chaining

使用可選鏈?zhǔn)秸{(diào)用代替強制展開
為可選鏈?zhǔn)秸{(diào)用定義模型類
通過可選鏈?zhǔn)秸{(diào)用訪問屬性
通過可選鏈?zhǔn)秸{(diào)用調(diào)用方法
通過可選鏈?zhǔn)秸{(diào)用訪問下標(biāo)
連接多層可選鏈?zhǔn)秸{(diào)用
在方法的可選返回值上進(jìn)行可選鏈?zhǔn)秸{(diào)用


錯誤處理-Error Handling

表示并拋出錯誤
處理錯誤
指定清理操作


類型轉(zhuǎn)換-Type Casting

定義一個類層次作為例子
檢查類型
向下轉(zhuǎn)型(Downcasting)
Any 和 AnyObject 的類型轉(zhuǎn)換


嵌套類型-Nested Types

嵌套類型實踐
引用嵌套類型


擴展-Extentions

擴展語法
計算型屬性
構(gòu)造器
方法
下標(biāo)
嵌套類型


協(xié)議-Protocols

協(xié)議語法(Protocol Syntax)
屬性要求(Property Requirements)
方法要求(Method Requirements)
Mutating 方法要求(Mutating Method Requirements)
構(gòu)造器要求(Initializer Requirements)
協(xié)議作為類型(Protocols as Types)
委托(代理)模式(Delegation)
通過擴展添加協(xié)議一致性(Adding Protocol Conformance with an Extension)
通過擴展采納協(xié)議(Declaring Protocol Adoption with an Extension)
協(xié)議類型的集合(Collections of Protocol Types)
協(xié)議的繼承(Protocol Inheritance)
類類型專屬協(xié)議(Class-Only Protocol)
協(xié)議合成(Protocol Composition)
檢查協(xié)議一致性(Checking for Protocol Conformance)
可選的協(xié)議要求(Optional Protocol Requirements)
協(xié)議擴展(Protocol Extensions)


泛型-Generics

泛型所解決的問題
泛型函數(shù)
類型參數(shù)
命名類型參數(shù)
泛型類型
擴展一個泛型類型
類型約束
關(guān)聯(lián)類型
Where 子句


訪問控制-Access Control

模塊和源文件
訪問級別
訪問控制語法
自定義類型
子類
常量、變量、屬性、下標(biāo)
構(gòu)造器
協(xié)議
擴展
泛型
類型別名


高級操作符-Advanced Operators

位運算符
溢出運算符
優(yōu)先級和結(jié)合性
運算符函數(shù)
自定義運算符

后記

令我欣慰的是其中相當(dāng)一部分概念在Object-C中已經(jīng)存在,不然不然……額,無法想象。嗯,就是這樣,真漢子就是干,萬丈高樓平地起,不怕,我們慢慢來/(ㄒoㄒ)/~~
另外,感謝中文版 Apple 官方 Swift 教程《The Swift Programming Language》的翻譯者們,感興趣的可以Star一下~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容