Swift學(xué)習(xí)筆記第一天

? ? ? 早就聽聞Swift的簡潔的大名踪央,無奈時間有限一直沒能好好學(xué)習(xí)一下,最近正好時間多到爆瓢阴,準(zhǔn)備系統(tǒng)的學(xué)習(xí)一下畅蹂。記下這份筆記,一來監(jiān)督自己要持之以恒荣恐,二來方便哪天腦抽不記得了液斜,也好回來翻翻找找。

一叠穆、Swift 介紹

簡介

1. Swift 語言由蘋果公司在 2014 年推出少漆,用來撰寫 OS X 和 iOS 應(yīng)用程序

2. 2014 年,在 Apple WWDC 發(fā)布

歷史

1. 2010 年 7 月硼被,蘋果開發(fā)者工具部門總監(jiān)Chris Lattner開始著手 Swift 編程語言的設(shè)計(jì)工作

2. 用一年時間示损,完成基本架構(gòu)

3. Swift 大約歷經(jīng) 4 年的開發(fā)期,2014 年 6 月發(fā)表

4. 克里斯·拉特納何許人?

LLVM 項(xiàng)目的主要發(fā)起人與作者之一

Clang 編譯器的作者

蘋果公司『開發(fā)者工具』部門的主管

領(lǐng)導(dǎo)Xcode嚷硫、Instruments等編譯器團(tuán)隊(duì)

Swift的大部分基礎(chǔ)架構(gòu)均由他1人完成

特點(diǎn)

從它的語法中能看到Objective-C检访、JavaScript、C#仔掸、Python等語言的影子

語法簡單脆贵、代碼簡潔、使用方便

可與Objective-C混合使用(相互調(diào)用)

提供了類似 Java 的名字空間(namespace)起暮、泛型(generic)卖氨、運(yùn)算對象重載(operator overloading)

為什么設(shè)計(jì)Swift語言

讓應(yīng)用開發(fā)更簡單、更快鞋怀、更穩(wěn)定

確保最終應(yīng)用有著更好的質(zhì)量

資源網(wǎng)站

《The Swift Programming Language》中文版http://numbbbbb.gitbooks.io/-the-swift-programming-language-/

二双泪、Swift初體驗(yàn)

Playground是什么?

從Xcode6開始出現(xiàn)(Swift開始出現(xiàn)),對于學(xué)習(xí)Swift基本語法非常方便

所見即所得(快速查看結(jié)果)密似,語法特性發(fā)生改變時,可以快速查看.

Swift最基本的語法變化

1. ?導(dǎo)入框架 ?import UIKit

2. ?定義標(biāo)識符時焙矛,必須聲明該標(biāo)識符是變量(var修飾)還是常量(let修飾)

聲明標(biāo)識符的格式:變量/常量關(guān)鍵字 ?名稱 : 數(shù)據(jù)類型 = 值

3. 語句結(jié)束時不需要加;

如果同一行有多個語句残腌,則依然需要加村斟,但是不建議一行多條語句

4. 打印語句 print(打印的內(nèi)容)

二贫导、常量&變量

什么是常量和變量

1.在Swift中規(guī)定:在定義一個標(biāo)識符時必須明確說明該標(biāo)識符是一個常量還是變量

2.使用let來定義常量,定義之后不可以修改

3.使用var來定義變量蟆盹,定義之后可以修改

常量和變量的基本使用

import UIKit

let a : Int = 20

var b : Double = 1.44

b = 2.44

常量和變量的使用注意

1.在使用過程中孩灯,建議先定義常量,如果需要修改再修改為變量(更加安全)

2.是指向的對象不可以再進(jìn)行修改逾滥,但是可以通過指針獲得對象后峰档,修改對象內(nèi)部的屬性

let view = UIView()

view.backgroundColor = UIColor.redColor()

view.frame = CGRectMake(0,0,100,100)

view.hidden = true

三、Swift中的數(shù)據(jù)類型

Swift中的數(shù)據(jù)類型也有:整型寨昙、浮點(diǎn)型讥巡、對象類型、結(jié)構(gòu)體類型舔哪、枚舉類型等等

有符號整型:Int ? ?無符號整型:UInt ? 32位浮點(diǎn)型:Float ? 64位浮點(diǎn)型:Double

Swift中的類型推導(dǎo)

1.Swift是強(qiáng)類型的語言

2.Swift中任何一個標(biāo)識符都有明確的類型

3.如果定義一個標(biāo)識符時有直接進(jìn)行賦值欢顷,標(biāo)識符后面的類型可以省略,因?yàn)镾wift有類型推導(dǎo)捉蚤,會自動根據(jù)后面的賦值來決定前面的標(biāo)識符的數(shù)據(jù)類型

4.可以通過option+鼠標(biāo)左鍵來查看變量的數(shù)據(jù)類型

Swift中基本運(yùn)算

1. Swift中在進(jìn)行基本運(yùn)算時必須保證類型一致抬驴,否則會出錯,因?yàn)镾wift中沒有隱式轉(zhuǎn)換

2. 數(shù)據(jù)類型的轉(zhuǎn)化

Int類型轉(zhuǎn)成Double類型:Double(標(biāo)識符)

Double類型轉(zhuǎn)成Int類型:Int(標(biāo)識符)

let a = 10

let b = 3.14

let c = Double(a) + b

let d = a + Int(b)

四缆巧、邏輯分支

(一)if分支語句

1. 判斷句可以不加()

2. 在Swift的判斷句中必須有明確的真假布持,不再有非0即真的概念。判斷句必須有明確的Bool值陕悬,Bool有兩個取值:false/true

let score = 87

if score < 0 || score > 100 {

? ? print("分?jǐn)?shù)不合理")

} else if score < 60 {

? ? print("不及格")

} else {

? ? print("及格成績")

}

(二)三目運(yùn)算符

Swift中的三目運(yùn)算保持了和OC一致的風(fēng)格

let a = 20

let b = 30

let result = a > b ? a : b

(三)guard的使用

1. guard是Swift2.0新增的語法

2. 它與if語句非常類似鳖链,它設(shè)計(jì)的目的是提高程序的可讀性

3. guard語句必須帶有else語句,它的語法如下:

當(dāng)條件表達(dá)式為true時候跳過else語句中的內(nèi)容墩莫,執(zhí)行語句組內(nèi)容

條件表達(dá)式為false時候執(zhí)行else語句中的內(nèi)容芙委,跳轉(zhuǎn)語句一般是return、break狂秦、continue或者throw

guard 條件表達(dá)式 else {

? ? // 條換語句

? ? break

}

語句組

4. 舉例

let age = 20

func online(age : Int) {

? ? guard age >= 18 else{

? ? ? ? print("回去找媽媽")

? ? ? ? return

? ? }

? ? guard 帶了身份證 else{

? ? ? ? print("回家拿身份證")

? ? ? ? return

? ? }

? ? guard 帶了錢 else{

? ? ? ? print("回家拿錢")

? ? ? ? return

? ? }

? ? print("開機(jī)上網(wǎng)")

}

online(age)

(四)switch分支

1. ?switch后可以不跟() 灌侣,?case后可以不跟break(默認(rèn)會有break)

2. 一個case判斷中,可以判斷多個值裂问,多個值以,隔開

3. 如果希望出現(xiàn)之前的case穿透,則可以使用關(guān)鍵字fallthrough

4. switch支持多種數(shù)據(jù)類型的判斷侧啼,例如浮點(diǎn)型、字符串

5.switch支持區(qū)間判斷

開區(qū)間:0..<10 表示:0~9,不包括10 ? ??閉區(qū)間:0...10 表示:0~10

五堪簿、循環(huán)

for循環(huán)的寫法

1. 最常規(guī)寫法

for var i = 0; i < 10; i++ {

? ? print(i)

}

2. 區(qū)間for循環(huán)

for i in 0..<10 {

? ? print(i)

}

3. 如果在for循環(huán)中不需要用到下標(biāo)i痊乾,可以用_代替

for _ in 0...10 {

? ? print("hello")

}

while和do while循環(huán)

1. while循環(huán)

while的判斷句必須有正確的真假,沒有非0即真

while后面的()可以省略

2. do while循環(huán)

使用repeat關(guān)鍵字來代替了do

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市椭更,隨后出現(xiàn)的幾起案子哪审,更是在濱河造成了極大的恐慌,老刑警劉巖虑瀑,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件湿滓,死亡現(xiàn)場離奇詭異滴须,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)叽奥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門扔水,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人朝氓,你說我怎么就攤上這事魔市。” “怎么了赵哲?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵嘹狞,是天一觀的道長。 經(jīng)常有香客問我誓竿,道長,這世上最難降的妖魔是什么谈截? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任筷屡,我火速辦了婚禮,結(jié)果婚禮上簸喂,老公的妹妹穿的比我還像新娘毙死。我一直安慰自己,他們只是感情好喻鳄,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布扼倘。 她就那樣靜靜地躺著,像睡著了一般除呵。 火紅的嫁衣襯著肌膚如雪再菊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天颜曾,我揣著相機(jī)與錄音纠拔,去河邊找鬼。 笑死泛豪,一個胖子當(dāng)著我的面吹牛稠诲,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播诡曙,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼臀叙,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了价卤?” 一聲冷哼從身側(cè)響起劝萤,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎慎璧,沒想到半個月后稳其,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體驶赏,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年既鞠,在試婚紗的時候發(fā)現(xiàn)自己被綠了煤傍。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡嘱蛋,死狀恐怖蚯姆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情洒敏,我是刑警寧澤龄恋,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站凶伙,受9級特大地震影響郭毕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜函荣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一显押、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧傻挂,春花似錦乘碑、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至绪抛,卻和暖如春资铡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背幢码。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工害驹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蛤育。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓宛官,卻偏偏與公主長得像,于是被迫代替她去往敵國和親瓦糕。 傳聞我的和親對象是個殘疾皇子底洗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容