swift研究-1

挺辛苦的一天回铛。

昨天晚上回家,不知道抽哪門子風(fēng)芯急,買了一大桶可樂勺届,喝了不少。半夜躺在床上一直睡不著娶耍,翻來覆去想各種奇怪的事情免姿,最后終于在早上5點睡著。早上8點半又起來搶火車票榕酒,好消息是搶到了胚膊。

白天很忙,一直在寫一個數(shù)據(jù)統(tǒng)計的腳本想鹰,用python+sql最終實現(xiàn)的∥赏瘢現(xiàn)在想來,還是覺得python的語法最舒服辑舷,很多東西很簡潔喻犁。

今天swift學(xué)的還算不錯,中午看了30來分鐘何缓,下午又看了1個多小時肢础。很平穩(wěn)的推進(jìn)過程。

筆記如下:

1 關(guān)聯(lián)類型碌廓。

在類型不確定的情況下传轰,需要聲明一個或多個關(guān)聯(lián)類型。相當(dāng)于一個占位名谷婆。作為關(guān)聯(lián)類型在協(xié)議被實現(xiàn)之前是不需要指定的慨蛙。關(guān)鍵字:typealias


protocol Container {

? ?typealias ItemType


? ?mutating func append(item: ItemType)


? ?var count: Int { get }

? ?subscript(index: Int) -> ItemType { get }

}


struct IntContainer: Container {

? ?var data = [T]()

? ?typealias ItemType = T //遵循協(xié)議實現(xiàn)類型, 這行可以注釋掉辽聊,因為swift的類型推斷


? ?var count: Int {

? ? ? ?return data.count

? ?}


? ?mutating func append(item: T) {

? ? ? ?data.append(item)

? ?}


? ?subscript(index: Int) -> T {

? ? ? ?return data[index]

? ?}

}

如果一個已有的類已滿足協(xié)議所有的功能,比如Array就滿足Container的所有要求期贫,可以簡單的直接聲明Array遵循該協(xié)議:

extension Array: Container{}

2 where語句類型約束跟匆。對于關(guān)聯(lián)類型定義約束是非常有用的⊥常可以使用where語句來定義參數(shù)的約束贾铝。


func allItemsMatch

? ?where C1.ItemType ?== C2.ItemType, C1.ItemType: Equatable>

? ?(leftContainer: C1, rightContainer: C2) -> Bool {

? ?var res = true


? ?if leftContainer.count != rightContainer.count {

? ? ? ?res = false

? ?} else {

? ? ? ?for i in 0..

? ? ? ? ? ?if leftContainer[i] != rightContainer[i] {

? ? ? ? ? ? ? ?res = false

? ? ? ? ? ? ? ?break

? ? ? ? ? ?}

? ? ? ?}

? ?}


? ?return res

}

3 訪問級別。swift提供了三種訪問級別埠帕,public垢揩,internal,private敛瓷,基本類似于java的public叁巨,包訪問權(quán)限,private呐籽。

默認(rèn)訪問權(quán)限為internal锋勺。

當(dāng)開發(fā)Framework時,需要把一些實體定義為public級別狡蝶,這些被定義為public的實體庶橱,就是這個Framework的API。

類的訪問級別也會影響到類成員(屬性贪惹,函數(shù)苏章,初始化方法)的默認(rèn)訪問級別。如果類聲明為private奏瞬,那么該類所有的成員的默認(rèn)訪問級別也是private枫绅。如果將類聲明為public或internal或是不明確的指定訪問級別,那么該類的所有成員的訪問級別是internal硼端。

注意:public類的默認(rèn)訪問權(quán)限是internal而不是public并淋,如果想將某個成員聲明為public,必須明確使用修飾符public珍昨。


public class SomePublicClass { //顯式的public類

? ?public var somePublicProperty = 0 //顯式的public成員

? ?var someInternalProperty = 0 //隱式的internal成員

? ?private func somePrivateMethod() {} //顯式的private成員

}


class SomeInternalClass { //隱式的internal類

? ?var someInternalProperty = 0 //隱式的internal成員

? ?private var somePrivateProperty = 0 //顯示的private成員

}


private class SomePrivateClass { //顯式的private類

? ?var somePrivateProperty = 0 //隱式的private成員

? ?private func somePrivateMethod() {} //顯式的private成員

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末县耽,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子镣典,更是在濱河造成了極大的恐慌兔毙,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件骆撇,死亡現(xiàn)場離奇詭異瞒御,居然都是意外死亡父叙,警方通過查閱死者的電腦和手機(jī)神郊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進(jìn)店門肴裙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人涌乳,你說我怎么就攤上這事蜻懦。” “怎么了夕晓?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵宛乃,是天一觀的道長。 經(jīng)常有香客問我蒸辆,道長征炼,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任躬贡,我火速辦了婚禮谆奥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘拂玻。我一直安慰自己酸些,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布檐蚜。 她就那樣靜靜地躺著魄懂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪闯第。 梳的紋絲不亂的頭發(fā)上市栗,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天,我揣著相機(jī)與錄音咳短,去河邊找鬼肃廓。 笑死,一個胖子當(dāng)著我的面吹牛诲泌,可吹牛的內(nèi)容都是我干的盲赊。 我是一名探鬼主播,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼敷扫,長吁一口氣:“原來是場噩夢啊……” “哼哀蘑!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起葵第,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤绘迁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后卒密,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體缀台,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年哮奇,在試婚紗的時候發(fā)現(xiàn)自己被綠了膛腐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片睛约。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖哲身,靈堂內(nèi)的尸體忽然破棺而出辩涝,到底是詐尸還是另有隱情,我是刑警寧澤勘天,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布怔揩,位于F島的核電站,受9級特大地震影響脯丝,放射性物質(zhì)發(fā)生泄漏商膊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一宠进、第九天 我趴在偏房一處隱蔽的房頂上張望翘狱。 院中可真熱鬧,春花似錦砰苍、人聲如沸潦匈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽茬缩。三九已至,卻和暖如春吼旧,著一層夾襖步出監(jiān)牢的瞬間凰锡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工圈暗, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留掂为,地道東北人。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓员串,卻偏偏與公主長得像勇哗,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子寸齐,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,629評論 2 354

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