The Swift Programming Language一些筆記

struct與class

“Use struct to create a structure. Structures support many of the same behaviors as classes, including methods and initializers.One of the most important differences between structures and classes is that structures are always copied when they are passed around in your code, but classes are passed by reference.”

摘錄來自: Apple Inc. “The Swift Programming Language (Swift 3)”航唆。 iBooks. 
? 在swift中struct與class具有很多相同點,但其中一個區(qū)別是class是引用观腊,struct是copy幻梯。
? 繼承允許一個類繼承另一個類的特征
? 類型轉(zhuǎn)換允許在運行時檢查和解釋一個類實例的類型
? 解構(gòu)器允許一個類實例釋放任何其所被分配的資源
? 引用計數(shù)允許對一個類的多次引用

mutaing與extension

“Notice the use of the mutating keyword in the declaration of
SimpleStructure to mark a method that modifies the structure. The declaration of SimpleClass doesn’t need any of its methods marked as mutating because methods on a class can always modify the class”
注意聲明 SimpleStructure 時候 mutating 關(guān)鍵字用來標(biāo)記一個會修改結(jié)構(gòu)體的方法。 SimpleClass 的聲明不需要標(biāo)記任何方法,因為類中的方法通吵适唬可以修改類屬性(類的性質(zhì))

“Use extension to add functionality to an existing type, such as new methods and computed properties. You can use an extension to add protocol conformance to a type that is declared elsewhere, or even to a type that you imported from a library or framework”
使用 extension 來為現(xiàn)有的類型添加功能,比如新的方法和計算屬性拷泽。你可以使用擴展在別處修改定義,甚至是從外部庫或者框架引入的一個類型,使得這個類型遵循某個協(xié)議

摘錄來自: Apple Inc. “The Swift Programming Language (Swift 3)”。 iBooks P43. 




defer

“Use defer to write a block of code that is executed after all other code in the function, just before the function returns. The code is executed regardless of whether the function throws an error. You can use defer to write setup and cleanup code next to each other, even though they need to be executed at different times”

defer是swift2.0推出的語法袖瞻,用于在code最后執(zhí)行一些清理工作司致,如文件讀取操作,在最后關(guān)閉文件聋迎,就可以放在defer中脂矫。

摘錄來自: Apple Inc. “The Swift Programming Language (Swift 3)”。 iBooks P48. 

整形浮點型轉(zhuǎn)化

“l(fā)et three = 3
let pointOneFourOneFiveNine = 0.14159
let pi = Double(three) + pointOneFourOneFiveNine
// pi equals 3.14159, and is inferred to be of type Double”

注意類型轉(zhuǎn)換的方法是Double(three)而不是(Double)three,我的理解是有一個內(nèi)置構(gòu)造器用來生成一個新值砌庄。
摘錄來自: Apple Inc. “The Swift Programming Language (Swift 3)”羹唠。 iBooks P76.  

一些關(guān)鍵詞

  • final //防止重寫,如果修飾class奕枢,將不能繼承
  • convenience //便利構(gòu)造器
  • required //表明所有該類的子類都必須實現(xiàn)該構(gòu)造器
  • unowned //無主引用
  • AnyObject //可以代表任何class類型的實例
  • Any //可以表示任何類型,包括方法類型(function types)。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末佩微,一起剝皮案震驚了整個濱河市缝彬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌哺眯,老刑警劉巖谷浅,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異奶卓,居然都是意外死亡一疯,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門夺姑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來墩邀,“玉大人,你說我怎么就攤上這事盏浙∶级茫” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵废膘,是天一觀的道長竹海。 經(jīng)常有香客問我,道長丐黄,這世上最難降的妖魔是什么斋配? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮灌闺,結(jié)果婚禮上艰争,老公的妹妹穿的比我還像新娘。我一直安慰自己菩鲜,他們只是感情好园细,可當(dāng)我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著接校,像睡著了一般。 火紅的嫁衣襯著肌膚如雪狮崩。 梳的紋絲不亂的頭發(fā)上蛛勉,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天,我揣著相機與錄音睦柴,去河邊找鬼诽凌。 笑死,一個胖子當(dāng)著我的面吹牛坦敌,可吹牛的內(nèi)容都是我干的侣诵。 我是一名探鬼主播痢法,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼杜顺!你這毒婦竟也來了财搁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤躬络,失蹤者是張志新(化名)和其女友劉穎尖奔,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體穷当,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡提茁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了馁菜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片茴扁。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖汪疮,靈堂內(nèi)的尸體忽然破棺而出丹弱,到底是詐尸還是另有隱情,我是刑警寧澤铲咨,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布躲胳,位于F島的核電站,受9級特大地震影響纤勒,放射性物質(zhì)發(fā)生泄漏坯苹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一摇天、第九天 我趴在偏房一處隱蔽的房頂上張望粹湃。 院中可真熱鬧,春花似錦泉坐、人聲如沸为鳄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽孤钦。三九已至,卻和暖如春纯丸,著一層夾襖步出監(jiān)牢的瞬間偏形,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工觉鼻, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留俊扭,地道東北人。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓坠陈,卻偏偏與公主長得像萨惑,于是被迫代替她去往敵國和親捐康。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,864評論 2 354

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

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,805評論 1 10
  • 基礎(chǔ)部分(The Basics) 當(dāng)推斷浮點數(shù)的類型時庸蔼,Swift 總是會選擇Double而不是Float解总。 結(jié)合...
    gamper閱讀 1,288評論 0 7
  • 1、范型范型所解決的問題 函數(shù)朱嘴、方法倾鲫、類型:類,結(jié)構(gòu)體萍嬉,枚舉乌昔,元組類型,協(xié)議參數(shù)壤追,返回值磕道,成員函數(shù)參數(shù),成員屬性類...
    我是小胡胡123閱讀 826評論 0 1
  • Swift2.0 1.defer譯為延緩行冰、推遲之意類似棧 注意作用域溺蕉,其次是調(diào)用順序——即一個作用域結(jié)束(注意),...
    zeqinjie閱讀 3,378評論 0 50
  • 132.轉(zhuǎn)換錯誤成可選值 通過轉(zhuǎn)換錯誤成一個可選值,你可以使用 try? 來處理錯誤悼做。當(dāng)執(zhí)行try?表達式時,如果...
    無灃閱讀 1,251評論 0 3