整理自己学习Swift4.0笔记
一、基础
1、字符串
2、数组
字符串
import UIKit
var str = "Hello, playground"
//字符个数
let count = str.count //17
//字符串是否为空
str.isEmpty //false
//去掉最后一个字符
str.dropLast() //"Hello, playgroun"
//去掉第一个字符
str.dropFirst() //"ello, playground"
//去掉最后三个字符
str.dropLast(3) // "Hello, playgro"
//倒序
String(str.reversed()) //"dnuorgyalp ,olleH"
//全部大写
str.localizedUppercase //"HELLO, PLAYGROUND"
//全部小写
str.localizedLowercase //"hello, playground"
//str.insert(contentsOf: "Collection", at: index1!)
//遍历
var lcounts = 0
for c in str {
if c == "l" {
lcounts+=1
}
}
print(lcounts) //"3\n"
//获取子字符串
let name = "Marie Curie"
name.count //11
let firstSpace = name.index(of: " ") ?? name.endIndex
let firstName = name[..
swift中字符串下标已经不是我们熟悉的int类型了,现在使用了String.Index类型,至于更换类型的原因推荐参考这篇文章:http://swift.gg/2016/01/25/friday-qa-2015-11-06-why-is-swifts-string-api-so-hard/
数组
import UIKit
var someArray = ["1","2","3","4","5","6","7","8","9","10","11","12"]
var someArray1 = ["4","5","6"]
someArray.count //12
someArray1[1] //"5"
//倒序
someArray.reverse() //["12", "11", "10", "9", "8", "7", "6", "5", "4", "3", "2", "1"]
// 是否为空
someArray.isEmpty //false
//增
someArray.append("4")//拼接字符串 ["12", "11", "10", "9", "8", "7", "6", "5", "4", "3", "2", "1", "4"]
someArray+someArray1//拼接数组 ["12", "11", "10", "9", "8", "7", "6", "5", "4", "3", "2", "1", "4", "4", "5", "6"]
//删
someArray.remove(at: 3) // ["12", "11", "10", "8", "7", "6", "5", "4", "3", "2", "1", "4"]
someArray.removeLast() // ["12", "11", "10", "8", "7", "6", "5", "4", "3", "2", "1"]
someArray.removeFirst() // ["11", "10", "8", "7", "6", "5", "4", "3", "2", "1"]
someArray.removeSubrange(0...1) // ["8", "7", "6", "5", "4", "3", "2", "1"]
someArray.removeAll() //[]
//改
//替换单个
someArray1[0]="7" //["7", "5", "6"]
//替换连续的几个
someArray1 .replaceSubrange(0...1, with: ["10","11"]) //["10", "11", "6"]
//遍历
for c in someArray1{
print(c)
}
//排序
var SM = [0,5,3,1,2,4,111,165,888,]
//SM.sort()
SM.sort { (x, y) -> Bool in
return x>y //如果x>y那最终结果就是降序的,如果x