使用string
的原因
遍歷字串
// 字串遍歷
var str = "hello, swift"
forc
in str.characters
字串拼接let str1 = "hello"
let str2 = "world"
let str3 = str1 + str2
let name = "why"
let age = 18
let info = "my name is \(name), age is \(age)"
let
min = 3
let second = 4
let time = string(format: "%02d:%02d", arguments: [min, second])
字串的擷取
簡單的方式是將string轉成nsstring來使用
let mystr = "www.520it.com"
var substr = (mystr as
nsstring).substringfromindex(4)
substr = (mystr as
nsstring).substringtoindex(3)
substr = (mystr as
nsstring).substringwithrange(nsrange(location: 4, length: 5))
// 定義乙個可變陣列,必須初始化才能使用
var array1 : [string] = [string]()
// 定義乙個不可變陣列
let array2 : [nsobject] = ["why", 18]
var stuarray1:array
var stuarray2: [string]
// 定義時直接初始化
var array = ["why", "lnj", "lmj"]
// 先定義,後初始化
var array : array
array = ["why", "lnj", "lmj"]
// 新增資料
// 刪除元素
array.removefirst()
// 修改元素
array[0] = "why"
// 取值
array[1]
// 遍歷陣列
for i in
0..count
// forin方式
for item in array
// 設定遍歷的區間
for item in array[0..<2]
// 陣列合併
// 注意:只有相同型別的陣列才能合併
var array = ["why", "lmj","lnj"]
var array1 = ["yz", "wsz"]
var array2 = array + array1;
// 不建議乙個陣列中存放多種型別的資料
var array3 = [2, 3, "why"]
var array4 = ["yz", 23]
array3 + array4
// 定義乙個可變字典
var dict1 : [string : nsobject] = [string : nsobject]()
// 定義乙個不可變字典
let dict2 = ["name" : "why", "age" : 18]
var dict1: dictionary
var dict2: [int: string]
// 定時字典的同時,進行初始化
var dict = ["name" : "why", "age" : 18]
// swift中任意物件,通常不使用nsobject,使用anyobject
var dict : dictionary
dict = ["name" : "why", "age" : 18]
// 新增資料
dict["height"] = 1.88
dict["weight"] = 70.0
dict
// 刪除字段
dict.removevalueforkey("height")
dict
// 修改字典
dict["name"] = "lmj"
dict
// 查詢字典
dict["name"]
// 遍歷字典中所有的值
for value in dict.values
// 遍歷字典中所有的鍵
for key in dict.keys
// 遍歷所有的鍵值對
for (key, value) in dict
// 字典的合併
var dict1 = ["name" : "yz", "age" : 20]
var dict2 = ["height" : 1.87, "phonenum" : "+86 110"]
// 字典不可以相加合併
for (key, value) in dict1
// 元祖:http錯誤
// let array = [404, "not found"]
// 寫法一:
let error = (404, "not found")
print(error.0)
print(error.1)
// 寫法二:
let error = (errorcode : 404, errorinfo : "not found")
print(error.errorcode)
print(error.errorinfo)
// 寫法三:
let (errorcode, errorino) = (404, "not found")
print(errorcode)
print(errorino)
概念:
可選型別的取值:
// 錯誤寫法
// let string : string = nil
// 正確寫法:
// 寫法一:定義可選型別
let string : optional
= nil
// 寫法二:定義可選型別,語法糖(常用)
let string : string? = nil
// 演練一:
// 定義可選型別
var string : optional
= nil
// 給可選型別賦值
string = "hello world"
// 列印結果
print(string)
// 結果:optional("hello world")\n
// 因為列印出來的是可選型別,所有會帶optional
// 演練二:
// 取出可選型別的真實值(解包)
print(string!)
// 結果:hello world\n
// 注意:如果可選型別為nil,強制取出其中的值(解包),會出錯
string = nil
print(string!) // 報錯
// 正確寫法:
if string != nil
// 簡單寫法:為了讓在if語句中可以方便使用string
ifvar str = string
// 通過該方法建立的url,可能有值,也可能沒有值
// 錯誤寫法:如果返回值是nil時,就不能接收了
let url : nsurl = nsurl(string: "www.520it.com")
// 正確寫法:使用可選型別來接收
let url : nsurl? = nsurl(string: "www.520it.com")
// 通過url來建立request物件
iflet tempurl = url
swift 基礎部分
一 數值型字面量 整數字面量可以被寫作 1 乙個十進位制數,沒有字首 2 乙個二進位制數,字首是0b 3 乙個八進位制數,字首是0o 4 乙個十六進製制數,字首是0x let decimalinteger 17 let binaryinteger ob10001let octalinteger 0o...
Swift 入門基礎
1.變數 var x 12 2.常量 let y 42.0 3.型別 bool int double float charactor string4.上限和下限 int.min int.max5.型別轉換 var x int y 6.顯式地型別宣告 var m int 7.字串 8.字串拼接 let...
Swift基礎高階
where與模式匹配 guard string 1 var str abc if str nil string?為string可選型,他意味著這種型別,可以為nil,還是那句話,可選型和nil不是乙個型別的特殊狀態,他是一種新的型別。2var optionalstr string?hello opt...