国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Swift基礎部分

2019-11-07 23:55:49
字體:
來源:轉載
供稿:網友

  Swift是一種基于IOS,OS X和watchOS平臺的新的編程語言,2016.9已經更新到3.0版本,3.0版本基于前面2個版本做了許多改變(新增或變更或是替換)。

  我是一個從c、c++過度到Object C的程序猿,目前Swift開發的IOS程序漸漸多了起來,有幸可可以自學一下Swift 3.0,所有語言差異都基于c、c++、o-c做區別,此次學習記錄參考資料來源于:

http://www.swift51.com/swift3.0/chapter1/01_swift.html,希望能給幫到有興趣的小伙伴們。

1.新的數據類型-元組(值類型)

//元組

let httPResponse = (404,"not found")     //定義初始化一個網絡請求返回值元組

let (statusCode, statusMessage) =httpResponse

print("The status code is/(statusCode)")

print("The status message is/(statusMessage)")

print("The status code is/(httpResponse.0)")

print("The status message is/(httpResponse.1)")

//如果你只需要一部分元組值,分解的時候可以把要忽略的部分用下劃線(_)標記

let (justTheStatusCode, _) = httpResponse

print("The status code is/(justTheStatusCode)")

2.可選類型 

/*可選類型  用法:強制解析 !   可選綁定

使用可選類型(optionals)來處理值可能缺失的情況。可選類型表示:有值,等于 x*/

let possibleNumber = "123"

let convertedNumber = Int(possibleNumber)

/*因為該構造器可能會失敗,所以它返回一個可選類型(optional)Int,而不是一個 Int。一個可選的 Int 被寫作 Int? 而不是 Int。問號暗示包含的值是可選類型,也就是說可能包含 Int值也可能不包含值。(不能包含其他任何值比如 Bool 值或者 String 值。只能是 Int或者什么都沒有。)*/

/*Swift 的 nil和 Objective-C中的 nil并不一樣。在 Objective-C中,nil是一個指向不存在對象的指針。在 Swift中,nil不是指針——它是一個確定的值,用來表示值缺失。任何類型的可選狀態都可以被設置為 nil,不只是對象類型。*/

/*有時候在程序架構中,第一次被賦值之后,可以確定一個可選類型總會有值。在這種情況下,每次都要判斷和解析可選值是非常低效的,因為可以確定它總會有值。這種類型的可選狀態被定義為隱式解析可選類型*/

let possibleString: String? = "An optional string."

let forcedString: String =possibleString!//需要驚嘆號來獲取值

另一種表示:

let assumedString: String! = "An implicitly unwrapped optional string."

let implicitString: String = assumedString //不需要感嘆號

3.空合運算符

//空合運算符(a ?? b)將對可選類型 a進行空判斷,如果 a包含一個值就進行解封,否則就返回一個默認值b, a != nil ? a! : b

let defaultColorName = "red"

var userDefinedColorName: String?   //默認值為 nil

var colorNameToUse = userDefinedColorName ?? defaultColorName

4.區間運算符

//閉區間運算符(a...b)定義一個包含從 a到 b(包括 a和 b)的所有值的區間

//半開區間(a..<b)定義一個從 a到 b但不包括 b的區間

for index in1...5{

    print("/(index),/(colorNameToUse)")

}

let names = ["Anna","Alex","Brian","Jack"]

let count = names.count

for i in0..<count {

    print("第/(i +1) 個人叫/(names[i])")

}

5.字符串處理

//遍歷字符串

for character in"Dog!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嵩明县| 太原市| 彭阳县| 湖口县| 通化市| 宝山区| 太和县| 垣曲县| 常山县| 鄂伦春自治旗| 沙河市| 宜春市| 沽源县| 泰兴市| 丰顺县| 杭锦旗| 永靖县| 延川县| 津市市| 耿马| 中西区| 潢川县| 香河县| 泸西县| 龙口市| 凤凰县| 工布江达县| 茂名市| 临朐县| 闵行区| 义马市| 陆河县| 淮南市| 乌拉特中旗| 盖州市| 龙陵县| 吴江市| 临江市| 应用必备| 儋州市| 偏关县|