swift 3.0
字符串的介紹
OC和Swift中字符串的區別
- 在OC中字符串類型時NSString,在Swift中字符串類型是String
- OC中字符串@"",Swift中字符串""
使用 String 的原因
- String 是一個結構體,性能更高
- NSString 是一個 OC 對象,性能略差
- String 支持直接遍歷
- Swift 提供了 String 和 NSString 之間的無縫轉換
字符串的使用
遍歷字符串
// 字符串遍歷
var str = "Hello, Swift"
for c in str.characters {
print(c)
}
字符串拼接
//兩個字符串的拼接
let str1 = "Hello"
let str2 = "World"
let str3 = str1 + str2
let str4 = str1.appending(str2)
//字符串和其他數據類型的拼接
let name = "syl"
let age = 18
let info = "my name is \(name), age is \(age)"
//字符串的格式化
比如時間:03:04
let min = 3
let second = 4
let time = String(format: "%02d:%02d", arguments: [min, second])
//字符串的截取
// Swift中提供了特殊的截取方式
// 該方式非常麻煩
let firstStr = "摩侖科技有限公司"
let subStr0 = firstStr.substring(to: "摩侖科技".endIndex)
let subStr1 = firstStr.substring(from: "摩侖科技".endIndex)
// Index創建較為麻煩
// 簡單的方式是將String轉成NSString來使用
// 在標識符后加:as NSString即可
let myStr = "http://www.cnblogs.com/ShaoYinling/"
var subStr = (myStr as NSString).substringFromIndex(4)
subStr = (myStr as NSString).substringToIndex(3)
subStr = (myStr as NSString).substringWithRange(NSRange(location: 4, length: 5))
數組的介紹
- Swift中的數組
- swift數組類型是Array,是一個泛型集合
數組的初始化
數組分成:
可變數組和不可變數組- 使用let修飾的數組是不可變數組
- 使用var修飾的數組是可變數組
數組的初始化
// 定義一個可變數組,必須初始化才能使用
var array1 : [String] = [String]()
// 定義一個不可變數組
let array2 : [NSObject] = ["syl", "18"]
// 在聲明一個Array類型的時候可以使用下列的語句之一
var stuArray1:Array<String>
var stuArray2: [String]
// 聲明的數組需要進行初始化才能使用,數組類型往往是在聲明的同時進行初始化的
// 定義時直接初始化
var array = ["syl", "man", "100"]
// 先定義,后初始化
var array : Array<String>
array = ["syl", "man", "100"]
對數組的基本操作
// 添加數據
array.append("HeNan")
// 刪除元素
array.removeFirst()
// 修改元素
array[0] = "SYL"
// 取值
array[1]
數組的遍歷
// 遍歷數組
for i in 0..<array.count {
print(array[i])
}
// forin方式
for item in array {
print(item)
}
// 設置遍歷的區間
for item in array[0..<2] {
print(item)
}
// enum 遍歷
for en in array2.enumerated() {
print(en)
// 下標
print(en.offset)
// 值
print(en.element)
}
// 下標和數值同時 遍歷
for (n,s) in array2.enumerated() {
print(n , "==", s);
}
// 反序遍歷
for s in array2.reversed() {
print(s)
}
// 遍歷下標和數值 反序
for (xxx,ooo) in array2.enumerated().reversed() {
print(xxx ,"====" ,ooo)
}
數組的合並
// 數組合並
// 注意:只有相同類型的數組才能合並
var array = ["syl", "man","1.80"]
var array1 = ["100", "HeNan"]
var array2 = array + array1;