swift學(xué)習(xí)筆記

1.swift優(yōu)先使用常量球匕,要變化的話變成變量.如果使用let 聲明了一個(gè)常量鸠匀,那么他的內(nèi)存地址是不會變化的了胁住。如果用var聲明的話五芝,就可以更變其內(nèi)存地址
2.swift 中只有Bool類型痘儡,也就是true/false
3.Int 相當(dāng)于 Nsinteger Uint 表示的NUInteger
4.Swift是一個(gè)強(qiáng)類型語言,沒有所謂的id類型枢步。沒有動態(tài)決定對象類型的特性沉删。swift中的類型推導(dǎo)可以根據(jù)后面的類型來推導(dǎo)前面的對象的類型
5.option鍵可以點(diǎn)擊查看 推導(dǎo)得到的類型

Paste_Image.png

6.swift中沒有隱式轉(zhuǎn)換的概念(所以必須要保證類型一致),oc中是可以做隱式轉(zhuǎn)換的醉途。

Paste_Image.png

必須要強(qiáng)制編程相同的類型

Paste_Image.png

7.if 語句 必須有明確的判斷 沒有非0/nil就是真的概念了矾瑰。if 后面不需要加小括號了

Paste_Image.png

8.else if 用法與 oc中用法是一致的

Paste_Image.png

9.guard,swift中獨(dú)有隘擎。

guard 條件表達(dá)式  else  {
   //條件語句
    break
}

10.swift中的switch 后面可以不加括號 殴穴。 case后面的break也是可以省略的。

Paste_Image.png

swich 如果想做case穿透,也就是說如果想掉進(jìn)某一個(gè)case之后采幌,后面的代碼還可以繼續(xù)執(zhí)行劲够,那么就寫一個(gè)關(guān)鍵字 fallthrough。case后面可以帶多個(gè)判斷條件休傍,沒一個(gè)條件后面都要加一個(gè)逗號分割征绎。switch也是可以判斷浮點(diǎn)數(shù)類型的,也可以判斷字符串類型磨取。switch也是支持區(qū)間進(jìn)行判斷的

Paste_Image.png

11.for循環(huán) 后面帶的小括號是可以省略的 如果臨時(shí)變量不需要用 也是可以省略中間變量的

for i in 0..<10 {

}

for _ in 0..<10 {

}

12.while再swift 中 沒有存在非0即真人柿,所以后面的判斷必須要有明確的bool值,后面的小括號也是可以省略的

while a > 10 {

}

13.do while 循環(huán) swift 中是沒有這種的 只有repeat

repeat {
 
} while a < 10

14.String是一個(gè)結(jié)構(gòu)體 性能更高忙厌。NSString是一個(gè)對象凫岖,性能差一點(diǎn)。String支持直接遍歷的逢净。Swift支持String與NSString之間的無縫轉(zhuǎn)換
遍歷字符串

Paste_Image.png

拼接字符串

Paste_Image.png

如果字符串與數(shù)字進(jìn)行拼接的時(shí)候

Paste_Image.png

字符串的截取 substring....

15.定義不可變數(shù)組

let array  = [1,2,3,4] 

定義可變數(shù)組

var arr = [String]()
Paste_Image.png
Paste_Image.png

16.字典

//不可變字典
let dic = ["name":"by","age":22] as [String : Any]
let dicA : [String:Int] = ["name":22]

//可變字典  
var mutableDic = [String:Any] ();
//添加元素
mutableDic["name"] = "boyan"
mutableDic["age"] = 22
//刪除元素
mutableDic.removeValue(forKey: "name")
//獲取一個(gè)元素
mutableDic["age"]
//修改元素
mutableDic["age"] = 29
//遍歷字典
for key in mutableDic.keys {
  print(key)
}

for (key,values) in mutableDic {
    print(key)
    print(values)
}
//字典合并
//即使類型一致 兩個(gè)字典也是無法合并的

17.元組, 數(shù)據(jù)是保存再小括號中的哥放。

let info = ("wht",1,2)

元組的取值

info.0
Paste_Image.png

18.swift中的任意屬性,在創(chuàng)建的時(shí)候必須有明確的初始化值汹胃。所以需要使用可選類型婶芭。可以這么寫

Paste_Image.png

但是這種寫法太繁瑣着饥,就有了下面這種語法糖

Paste_Image.png

如果想把可選類型中的值取出來,然后可以做強(qiáng)制解包

Paste_Image.png

強(qiáng)制解包是一個(gè)非常危險(xiǎn)的操作惰赋,如果強(qiáng)制解包的數(shù)據(jù)為空宰掉,那么變量強(qiáng)制解包之后就會崩潰。在強(qiáng)制解包之前赁濒,一定要對可選類型做判空操作轨奄。那么就會有下面的代碼


Paste_Image.png

這樣每次使用變量的時(shí)候都要強(qiáng)制解包一下,非常不方便拒炎。就有了可選綁定的寫法挪拟。


Paste_Image.png

這樣,以后再使用變量的時(shí)候就不用每一次都做強(qiáng)制解包操作了

19.swift中的函數(shù)

func  方法名字(方法參數(shù)) -> 方法返回值類型 {
}

swift中可以提供一個(gè)有默認(rèn)值的函數(shù)击你。

Paste_Image.png

這樣如果調(diào)用這個(gè)函數(shù)的時(shí)候沒有給name參數(shù)傳值玉组,就會打印默認(rèn)的noya值

可變參數(shù)

Paste_Image.png

函數(shù)的嵌套使用

Paste_Image.png

20.類 如果類中的某一個(gè)方法是對于父類的重寫,那么一定要協(xié)商override關(guān)鍵字丁侄。 swift中不建議使用self關(guān)鍵字惯雳。
計(jì)算屬性 是通過別的屬性計(jì)算得到的屬性.
定義類屬性 需要加static關(guān)鍵字

21.類的構(gòu)造函數(shù)。

Paste_Image.png

注意 必須重寫父類的構(gòu)造函數(shù) 關(guān)鍵字 override鸿摇,super.init()可以不用寫石景,編譯器會幫忙寫好

as? 最終轉(zhuǎn)化成的是一個(gè)可選類型
as! 最終轉(zhuǎn)化成的是一個(gè)確定的類型

22.閉包 記住固定格式 (參數(shù)列表) -> (返回值類型)
解決循環(huán)引用的方法

Paste_Image.png

對上面的方式簡化寫法


Paste_Image.png

23.dealloc 方法 在swift中是deinit方法
24.如果閉包作為方法的最后一個(gè)參數(shù),那么可以吧方法的最后小括號刪除。這就叫尾隨閉包

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末潮孽,一起剝皮案震驚了整個(gè)濱河市揪荣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌往史,老刑警劉巖仗颈,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異怠堪,居然都是意外死亡揽乱,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門粟矿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凰棉,“玉大人,你說我怎么就攤上這事陌粹∪鱿” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵掏秩,是天一觀的道長或舞。 經(jīng)常有香客問我,道長蒙幻,這世上最難降的妖魔是什么映凳? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮邮破,結(jié)果婚禮上诈豌,老公的妹妹穿的比我還像新娘。我一直安慰自己抒和,他們只是感情好矫渔,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著摧莽,像睡著了一般庙洼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上镊辕,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天油够,我揣著相機(jī)與錄音,去河邊找鬼丑蛤。 笑死叠聋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的受裹。 我是一名探鬼主播碌补,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼虏束,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了厦章?” 一聲冷哼從身側(cè)響起镇匀,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎袜啃,沒想到半個(gè)月后汗侵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡群发,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年晰韵,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片熟妓。...
    茶點(diǎn)故事閱讀 38,161評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡雪猪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出起愈,到底是詐尸還是另有隱情只恨,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布抬虽,位于F島的核電站官觅,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏阐污。R本人自食惡果不足惜休涤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望笛辟。 院中可真熱鬧滑绒,春花似錦、人聲如沸隘膘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽弯菊。三九已至,卻和暖如春踱阿,著一層夾襖步出監(jiān)牢的瞬間管钳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工软舌, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留才漆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓佛点,卻偏偏與公主長得像醇滥,于是被迫代替她去往敵國和親黎比。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評論 2 344

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