Swift3.0學(xué)習(xí)總結(jié)(二)

1.常量與變量

常量用 "let"修飾,?例如 let a:Int = 12,?其中冒號(hào)后邊加的是參數(shù)類(lèi)型, 如果在賦值時(shí)給定了確定的值, 則參數(shù)類(lèi)型可以省略, 因?yàn)镾wift中編譯器可以根據(jù)后邊的賦值自動(dòng)判斷參數(shù)的類(lèi)型,這也是區(qū)別OC的地方妓盲。

變量用"var"修飾, 如var b:Int = 2

2.字符串

let str = "hello"

獲取字符串長(zhǎng)度: str.characters.count ?/ ? str.lengthOfBytesUsingEncoding(NSUTF8StringEncoding)

大寫(xiě)轉(zhuǎn)換: str.uppercaseString ?/ 小寫(xiě)轉(zhuǎn)換: str.lowercaseString

字符串拼接: str1 + str2

格式化創(chuàng)建字符串: let str3 = String(format: "%02d:%02d", 1,2)? / ?

? ? ? ? ? ? ? ? ? ? ? ? ? ?let str3 = String(format: "%02d-%02d", arguments: [1,2])

剪切:str.substringToIndex(str2.substringToIndex(str2.startIndex.advancedBy(1)))? //Swift中的字符串剪切要先把指定位置轉(zhuǎn)化為index類(lèi)型, 這個(gè)相對(duì)麻煩一點(diǎn)

注: 字符串的其他操作全部轉(zhuǎn)化為NSString再去操作 let tempStr:NSString = str2 as NSString

3.數(shù)組凤藏、字典、元祖

Swift中的初始化全部轉(zhuǎn)化為了"()", 例如let array = [String]()

let array = ["a", "b", "c", "d"]

數(shù)組遍歷for-in (明確指出數(shù)組的類(lèi)型)

for temp in array as [String] {
}

元祖遍歷

for (index, value) in array.enumerate() { ? //enumerate為快速枚舉
? ? ?print("index = \(index), value = \(value)")

}

可變數(shù)組

var mutableArray = [String]()

mutableArray.append("hello") ? ?//添加元素到數(shù)組

mutableArray.removeAll(keepCapacity: true) ?//該方法在刪除元素后保留數(shù)組空間

mutableArray.removeFirst(1) ? ?//從第一個(gè)元素開(kāi)始刪除指定個(gè)數(shù)元素

字典

let dict = ["key1":"value1", "key2", :"value2"] ?//創(chuàng)建字典

dict["key1"] ? //通過(guò)key訪問(wèn)value

for (key, value) in dict {

} ? ? ? //遍歷

可變字典

var dict = ["key":"value"]

for (key, value) in dict {

dict[key] = value ? ? //如果key存在則是一個(gè)更新鍵值對(duì)操作, 否則是一個(gè)增加鍵值對(duì)操作

} ? ?

可選類(lèi)型

可選類(lèi)型(Optional)--如果一個(gè)值可能為nil, 那么這個(gè)值就是可選類(lèi)型, 用"?"標(biāo)識(shí), Optional包圍的就是一個(gè)可選類(lèi)型

可選類(lèi)型不能直接使用, 需要進(jìn)行強(qiáng)制解包(!), 對(duì)nil強(qiáng)制解包會(huì)造成崩潰,系統(tǒng)會(huì)提示:unexpectedly found nil while unwrapping an Optional value 錯(cuò)誤

(a ?? "234")對(duì)可選類(lèi)型進(jìn)行判斷, 如果可選類(lèi)型為nil, 則給它一個(gè)默認(rèn)值

if條件語(yǔ)句

if條件語(yǔ)句:"()"可以省略, "{}"不能省略, if中沒(méi)有非0即真的概念, 只有true或者false兩種情況.

在if語(yǔ)句中, 條件必須是一個(gè)布爾表達(dá)式---這就意味著像 if score{...}這樣的代碼將報(bào)錯(cuò),而不是隱式的與0做對(duì)比

可選的條件分支

(1)if-let 是對(duì)可選類(lèi)型的判斷, 如果可選類(lèi)型為nil, 則不執(zhí)行代碼塊, 如果不為空則用一個(gè)變量/常量來(lái)接收這個(gè)可選類(lèi)型解包后的值

(2)if-let-where和if-let相似, where是對(duì)前面定義的局部變量再做一層判斷

(3)guard-let-else(守護(hù)),如果可選類(lèi)型為nil,則執(zhí)行代碼塊,最后一定要return,如果不為nil則將強(qiáng)制解包后的值賦給一個(gè)變量,這樣在{}外面就可以使用該變量

switch

Swift中的switch不局限判斷整型, 可以是浮點(diǎn)型, 也可以是字符串等等, switch后面的小括號(hào)可以省略, 大括號(hào)不能省略

case后面至少要有一條執(zhí)行語(yǔ)句, 并且case后面的大括號(hào)可以省略, break可以不寫(xiě), 不會(huì)造成貫穿

default一定要寫(xiě), 并且只能寫(xiě)在最后

for循環(huán)

Swift中的for循環(huán)在3.0之后被廢棄掉了

for var i = 0;i < 5; i++ {

print(i)

} ? ?//被廢棄

for i in 0..<5{ ? ?//0..<5----[0,5) ? ? 0...5----[0,5]

print("i =\(i)")

} ? //for循環(huán)的新寫(xiě)法

枚舉

枚舉可以關(guān)聯(lián)浮點(diǎn), 字符串, 沒(méi)有默認(rèn)的關(guān)聯(lián)值

關(guān)聯(lián)的值如果是Int, 會(huì)默認(rèn)遞增, 如果不是Int, 必須每個(gè)枚舉值都關(guān)聯(lián)對(duì)應(yīng)的值

如果明確指出一個(gè)變量/常量是屬于哪種枚舉類(lèi)型的話(huà), 可以直接".枚舉"賦值, 否則就"枚舉類(lèi)型.枚舉值"

枚舉類(lèi)型中有rawValue和hashValue

rawValue代表該變量在枚舉類(lèi)型中的值

hashValue代表該變量是枚舉類(lèi)型中的第幾個(gè)(即下標(biāo))

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末肆良,一起剝皮案震驚了整個(gè)濱河市纺弊,隨后出現(xiàn)的幾起案子牛欢,更是在濱河造成了極大的恐慌,老刑警劉巖淆游,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件傍睹,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡犹菱,警方通過(guò)查閱死者的電腦和手機(jī)拾稳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)已亥,“玉大人熊赖,你說(shuō)我怎么就攤上這事÷亲担” “怎么了震鹉?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)捆姜。 經(jīng)常有香客問(wèn)我传趾,道長(zhǎng),這世上最難降的妖魔是什么泥技? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任浆兰,我火速辦了婚禮,結(jié)果婚禮上珊豹,老公的妹妹穿的比我還像新娘簸呈。我一直安慰自己,他們只是感情好店茶,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布蜕便。 她就那樣靜靜地躺著,像睡著了一般贩幻。 火紅的嫁衣襯著肌膚如雪轿腺。 梳的紋絲不亂的頭發(fā)上两嘴,一...
    開(kāi)封第一講書(shū)人閱讀 49,071評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音族壳,去河邊找鬼憔辫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛仿荆,可吹牛的內(nèi)容都是我干的贰您。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼赖歌,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼枉圃!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起庐冯,我...
    開(kāi)封第一講書(shū)人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤孽亲,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后展父,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體返劲,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年栖茉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了篮绿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吕漂,死狀恐怖亲配,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情惶凝,我是刑警寧澤吼虎,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站苍鲜,受9級(jí)特大地震影響思灰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜混滔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一洒疚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧坯屿,春花似錦油湖、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至隔节,卻和暖如春鹅经,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背怎诫。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工瘾晃, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人幻妓。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓蹦误,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親肉津。 傳聞我的和親對(duì)象是個(gè)殘疾皇子强胰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

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