認識swift

一 .swift簡介

Swift是一種新的編程語言,用于編寫 iOS,OS X 和 watchOS應(yīng)用程序。

1. 語法簡潔捆等、快速滞造、安全,符合現(xiàn)代化編程思維
2. 取消的指針和不安全的操作
3. 廢棄了Smalltalk的語法,全部改為點語法
4. 更豐富的自定義支持:泛型、運算符重載
5. 結(jié)合playground,做到真正意義上的所見即所得
6. 可以無縫對接到現(xiàn)有的 Cocoa 框架,并且可以兼容 Objective-C代碼

二. swift發(fā)展歷史

2014-6-3 WWDC 2014:蘋果2014年開發(fā)者大會發(fā)布栋烤。
2014-6-4 《Swift中文版》翻譯組在github上進行協(xié)同翻譯谒养。此項目開始不到一周就獲得了1067個star。該項目的發(fā)起人是北航的大三學(xué)生明郭。
2014-6-12《Swift中文版》第一版發(fā)布买窟。
2015年12月4日,蘋果公司宣布其Swift編程語言現(xiàn)在開放源代碼。長600多頁的TheSwift Programming Language可以在線免費下載薯定。

三. swift開發(fā)環(huán)境

硬件:Mac電腦系統(tǒng):OS X 10.9以上開發(fā)工具:Xcode6以上

四. swift學(xué)習(xí)資料

官網(wǎng) https://swift.org
官方教程:中文版和英文版swift在github的開源地址 https://github.com/apple/swift

五.swift初始化方法

在Objective-C中,init方法是非常不安全的:沒有人能保證init只被調(diào)用一次,也沒有人保證在初始化方法調(diào)用以后,實例的各個變量都完成初始化,甚至如果在初始化里使用屬性進行設(shè)置的話,還可能會造成各種問題始绍。
雖然Apple也明確說明了不應(yīng)該在init中使用屬性來訪問,但這并不是編譯器強制的,因此還是會有很多開發(fā)者犯這樣的錯誤。
所以Swift有了超級嚴格的初始化方法话侄。一方面,Swift強化了designated初始化方法的地位亏推。Swift中不加修飾的init方法都需要在方法中保證所有非Optional的實例變量被賦值初始化,而在子類中也強制 (顯式或隱式地)調(diào)用super版本的designated初始化,所以無論如何走何種路徑,被初始化的對象總是可以完成完整的初始化的。

  • 規(guī)則
    指定構(gòu)造器必須向上代理到父類的指定構(gòu)造器(如果有父類)便利構(gòu)造器必須橫向代理到自己的其他(便利或指定)構(gòu)造器,最終必須導(dǎo)致調(diào)用到指定構(gòu)造器指定構(gòu)造器必須保證所有的非可選屬性和常量(let)屬性都被賦值沒有convince修飾的都是指定構(gòu)造器KVC的setValuesForKeysWithDictionary方法調(diào)用中需要使用self,所以要保證self已經(jīng)完成全部初始化,實例可用
  • 寫法
  1. 先初始化子類自身的屬性
  2. 調(diào)用父類的指定構(gòu)造器:super.init()或者super.init(...)
  3. 對父類的屬性進一步定制
  4. 如果第3步?jīng)]有,則可以省略第2步的super.init(),因為會自動調(diào)用
  5. 如果父類的指定構(gòu)造器不只有init(),那么super.init()不會自動調(diào)用(無法確定該用哪個)
  • 重寫和繼承規(guī)則
    默認不會繼承父類的構(gòu)造器,如果想提供相同的構(gòu)造器,則需要重寫,即使是默認構(gòu)造器init()重寫父類的指定構(gòu)造器必須加override,可作為子類的便利構(gòu)造器重寫父類的便利構(gòu)造器不需要加override(因為子類不可能直接調(diào)用父類的便利構(gòu)造器)
  • 自動繼承規(guī)則
    如果子類中引入的所有新屬性都提供了默認值,且沒有定義任何指定構(gòu)造器,則會繼承父類所有的指定構(gòu)造器如果子類提供了所有父類指定構(gòu)造器實現(xiàn)(繼承來的或者重寫的),則會自動繼承所有父類的便利構(gòu)造器
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末年堆,一起剝皮案震驚了整個濱河市吞杭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌嘀韧,老刑警劉巖篇亭,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缠捌,死亡現(xiàn)場離奇詭異锄贷,居然都是意外死亡译蒂,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進店門谊却,熙熙樓的掌柜王于貴愁眉苦臉地迎上來柔昼,“玉大人,你說我怎么就攤上這事炎辨〔锻福” “怎么了?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵碴萧,是天一觀的道長乙嘀。 經(jīng)常有香客問我,道長破喻,這世上最難降的妖魔是什么虎谢? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮曹质,結(jié)果婚禮上婴噩,老公的妹妹穿的比我還像新娘。我一直安慰自己羽德,他們只是感情好几莽,可當我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宅静,像睡著了一般章蚣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上姨夹,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天究驴,我揣著相機與錄音,去河邊找鬼匀伏。 笑死洒忧,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的够颠。 我是一名探鬼主播熙侍,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼履磨!你這毒婦竟也來了蛉抓?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤剃诅,失蹤者是張志新(化名)和其女友劉穎巷送,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體矛辕,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡笑跛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年付魔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片飞蹂。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡几苍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出陈哑,到底是詐尸還是另有隱情妻坝,我是刑警寧澤,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布惊窖,位于F島的核電站刽宪,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏界酒。R本人自食惡果不足惜纠屋,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望盾计。 院中可真熱鬧售担,春花似錦、人聲如沸署辉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽葱椭。三九已至苹享,卻和暖如春祭埂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蔗喂。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工啄枕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留膀值,地道東北人桶唐。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓栅葡,卻偏偏與公主長得像,于是被迫代替她去往敵國和親尤泽。 傳聞我的和親對象是個殘疾皇子欣簇,可洞房花燭夜當晚...
    茶點故事閱讀 45,500評論 2 359

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