swift學(xué)習(xí)第一課程(白胡子老頭的斯坦福大學(xué)ios公開課CS193P)

swift語言發(fā)表已經(jīng)快四年時(shí)間了,現(xiàn)在也已經(jīng)更新到swift4了,相對(duì)已經(jīng)穩(wěn)定,同時(shí)Objective-C向swift的語言轉(zhuǎn)換杖们,也是IOS開發(fā)的大勢所趨悉抵,為了不被時(shí)代所拋棄,也為了增加自己的知識(shí)儲(chǔ)備量摘完,決定開始學(xué)習(xí)swift

曾經(jīng)在學(xué)習(xí)Objective-C的時(shí)候也是通過白胡子老頭的“斯坦福大學(xué)公開課”學(xué)習(xí)的姥饰,所以在想要學(xué)習(xí)swift的時(shí)候,第一時(shí)間想到的也是這個(gè)老先生的課程孝治,沒想到搜索了一下媳否,還真的有(點(diǎn)這里),只不過是swift3的課程荆秦,不過也沒什么關(guān)系,因?yàn)閟wift4跟swift3相比力图,更新的東西并不多 步绸,不妨可以先學(xué)習(xí)swift3,當(dāng)語法與基礎(chǔ)知識(shí)等都了解了吃媒,能夠順利使用了之后再去了解swift4的相關(guān)更新也不遲瓤介。

由于每天下班比較晚,所以可能更新每天學(xué)習(xí)的東西比較少赘那,時(shí)間也不固定刑桑,但是重在積累吧。

也沒發(fā)過什么博客募舟,所以對(duì)排版也沒什么心得祠斧,主要用于記錄自己的學(xué)習(xí)軌跡和知識(shí)點(diǎn),望海涵拱礁!

在每一項(xiàng)知識(shí)點(diǎn)后邊都會(huì)掛上一個(gè)此相關(guān)知識(shí)點(diǎn)的比較詳細(xì)的解釋的鏈接琢锋,以供之后查看

變量和常量的聲明 相關(guān)詳細(xì)鏈接

1、變量的聲明
var digit : String
注:一般可以取消定義的類型呢灶,寫成var digit吴超,因?yàn)閟wift會(huì)根據(jù)上下文進(jìn)行類型推到
2、常量的聲明
let digit
在聲明時(shí)區(qū)分變量和常量很重要的原因是鸯乃,當(dāng)你改變一個(gè)常量的時(shí)候鲸阻,編譯器會(huì)給你報(bào)錯(cuò),并且能確定值在之后一直不會(huì)變化的時(shí)候缨睡,就定義為常量

方法函數(shù) 相關(guān)詳細(xì)鏈接

下方就是swift方法的定義鸟悴。例子:

①  func drawHorizontalLine(from startX: Double, to endX:Double, using color: UIColor) -> String{
        distance = endX - startX
    }
②  @IBAction func touchDigit(_ sender: UIButton) {
    }
  • 1 、①中的startX奖年,endX遣臼,color為方法的形參:函數(shù)內(nèi)部的形參名稱,只在函數(shù)內(nèi)部使用拾并,例如方法內(nèi)部的:distance = endX - startX
  • 2揍堰、①中的Double鹏浅,UIColor是這個(gè)參數(shù)的類型
  • 3、①中的from屏歹,to隐砸,using是方法外部使用的實(shí)參標(biāo)簽
    1. _表示不需要標(biāo)簽,調(diào)用時(shí)不用寫標(biāo)簽蝙眶。例如②方法可以這樣調(diào)用:touchDigit(someButton))季希。一般在標(biāo)簽名存在于函數(shù)名或者參數(shù)類型中時(shí),使用_幽纷。補(bǔ)充:_一般最多用于第一個(gè)參數(shù)的標(biāo)簽式塌。
    2. 調(diào)用函數(shù)時(shí),使用的是這些外部名稱友浸。例如:
      drawHorizontalLine(from: 5.0, to: 8.0, using: UIColor.blue)
    3. 并且這些外部實(shí)參標(biāo)簽在調(diào)用時(shí)是不可缺少的峰尝。例如:
      drawHorizontalLine(5.0, 8.0, UIColor.blue)是不允許的
  • 4、-> String為返回值

字符串的拼接 相關(guān)詳細(xì)鏈接

使用\()進(jìn)行拼接收恢,括號(hào)中可以放任何能用字符串標(biāo)識(shí)的內(nèi)容武学。例如:

var digit : String = "example"
print("\(digit) was called")

可選類型 相關(guān)詳細(xì)鏈接

  • 1、可選類型值有兩個(gè)值:有值和缺省值伦意,當(dāng)有值的時(shí)候火窒,會(huì)存在一個(gè)關(guān)聯(lián)值,關(guān)聯(lián)值可以是String驮肉,Double等等等等熏矿,當(dāng)只想獲取其關(guān)聯(lián)值的時(shí)候,需要進(jìn)行解包
  • 2离钝、創(chuàng)建的UILabel屬性是可選的var display: UILabel!曲掰,是因?yàn)楫?dāng)用戶界面剛顯示出來的時(shí)候,系統(tǒng)需要一點(diǎn)時(shí)間關(guān)聯(lián)控件和代碼奈辰。所以剛加載的時(shí)候栏妖,它是缺省值的。關(guān)聯(lián)完之后就是有值的了奖恰,之后一直都是有值的吊趾,這就是這個(gè)“!”的作用
  • 3瑟啃、當(dāng)賦值給可選類型的時(shí)候论泛,并不需要解包,直接賦值就可以了
  • 4蛹屿、另一種安全的解包方式屁奏,推薦使用!
//(如果sender.currentTitle有值错负,那么把關(guān)聯(lián)值賦值給mathematicalSymbol)
if let mathematicalSymbol = sender.currentTitle {
   print(mathematicalSymbol)
}

類型轉(zhuǎn)換 相關(guān)詳細(xì)鏈接

這的類型轉(zhuǎn)換只記錄最基礎(chǔ)的一種坟瓢,其他的方式再相關(guān)詳細(xì)鏈接中查看
把其他類型轉(zhuǎn)換成字符串類型:String(Double.pi)
其他基礎(chǔ)類型同理

計(jì)算型屬性 相關(guān)詳細(xì)鏈接

把代碼放在屬性的后面的大括號(hào)里勇边,就能實(shí)時(shí)計(jì)算變量的值,而不是依靠存儲(chǔ)的值.
所以可以有代碼負(fù)責(zé)計(jì)算獲取的值(get)折联,也可以有代碼處理賦值的情況(set)
例如:

var displayValue : Double {
    get {
        //當(dāng)displayValue在等號(hào)右邊的時(shí)候粒褒,調(diào)用這里
        return Double(display.text!)!
        }
    set {
        //當(dāng)displayValue在等號(hào)左邊的時(shí)候,調(diào)用這個(gè)(newValue就代表要賦值的值诚镰,它和變量類型相同)
        display.text = String(newValue)
       }
}

雜項(xiàng)

  • 1奕坟、swift要求所有屬性都要初始化,但是可選類型是例外清笨,因?yàn)榭蛇x類型可以不賦值月杉,因?yàn)槌跏蓟臅r(shí)候被自動(dòng)初始化為nil,nil表示缺省值抠艾。當(dāng)然也可以手動(dòng)初始化給一個(gè)初始值苛萎,但是如果沒有的話,就是缺省值
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末跌帐,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子绊率,更是在濱河造成了極大的恐慌谨敛,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件滤否,死亡現(xiàn)場離奇詭異脸狸,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)藐俺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門炊甲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人欲芹,你說我怎么就攤上這事卿啡。” “怎么了菱父?”我有些...
    開封第一講書人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵颈娜,是天一觀的道長。 經(jīng)常有香客問我浙宜,道長官辽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任粟瞬,我火速辦了婚禮同仆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘裙品。我一直安慰自己俗批,他們只是感情好俗或,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著扶镀,像睡著了一般蕴侣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上臭觉,一...
    開封第一講書人閱讀 52,328評(píng)論 1 310
  • 那天昆雀,我揣著相機(jī)與錄音,去河邊找鬼蝠筑。 笑死狞膘,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的什乙。 我是一名探鬼主播挽封,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼臣镣!你這毒婦竟也來了辅愿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤忆某,失蹤者是張志新(化名)和其女友劉穎点待,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體弃舒,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡癞埠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了聋呢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片苗踪。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖削锰,靈堂內(nèi)的尸體忽然破棺而出通铲,到底是詐尸還是另有隱情,我是刑警寧澤器贩,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布测暗,位于F島的核電站,受9級(jí)特大地震影響磨澡,放射性物質(zhì)發(fā)生泄漏碗啄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一稳摄、第九天 我趴在偏房一處隱蔽的房頂上張望稚字。 院中可真熱鬧,春花似錦、人聲如沸胆描。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽昌讲。三九已至国夜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間短绸,已是汗流浹背车吹。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留醋闭,地道東北人窄驹。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像证逻,于是被迫代替她去往敵國和親乐埠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

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

  • 轉(zhuǎn)載自:https://github.com/Tim9Liu9/TimLiu-iOS[https://github...
    香橙柚子閱讀 8,586評(píng)論 0 36
  • 因?yàn)橐Y(jié)局swift3.0中引用snapKit的問題,看到一篇介紹Xcode8,swift3變化的文章,覺得很詳細(xì)...
    uniapp閱讀 4,426評(píng)論 0 12
  • 最怕半夜醒來囚企,腦子里昏昏沉沉丈咐,越是用力的睡越睡不著。好吧龙宏,只有拿出手機(jī)棵逊,刷知乎,看小說烦衣。心里想著歹河,什么時(shí)候才...
    老落閱讀 232評(píng)論 0 0
  • 1996年掩浙,那年你15歲花吟,你媽騎著一輛老舊的自行車帶你去街上買鞋,來獎(jiǎng)勵(lì)你期中考試的好成績厨姚。那時(shí)的街道遠(yuǎn)沒有現(xiàn)在如...
    椏椏閱讀 461評(píng)論 0 1
  • “新的一天又開始了”唐優(yōu)萱說到“不知道若妍怎么樣了呢” 叮叮衅澈。。谬墙。今布。。拭抬。優(yōu)萱的手機(jī)響了部默,“喂?劉造虎。傅蹂。。劉晴帆?”唐...
    喵可ovo閱讀 250評(píng)論 0 1