国产探花免费观看_亚洲丰满少妇自慰呻吟_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!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜兰市| 水城县| 万州区| 蓬莱市| 盐池县| 肇州县| 旅游| 同德县| 勐海县| 石楼县| 东方市| 工布江达县| 江西省| 清丰县| 龙海市| 定陶县| 阜宁县| 浮山县| 景谷| 宣武区| 桃江县| 烟台市| 禄丰县| 观塘区| 邓州市| 炎陵县| 阿坝| 铅山县| 高唐县| 长葛市| 淮滨县| 株洲县| 乌兰浩特市| 来凤县| 唐河县| 巴楚县| 客服| 格尔木市| 凌海市| 吉木乃县| 沁阳市|