参考
基础数据
1.数字
- Int
//从小数转整数
Int(1.1) //1
//字符串转整数
Int("1")! //1
//1到5随机整数
Int.random(in: 1...5)
- Double
//转Double
Double(1.1)
Double(1)
Double("1.1")
//随机double
Double.random(in:0...1)
//四舍五入
1.2.rounded()
//pi
Double.pi
- Decimal
//以10为底的数字,比Double精度更高
print(Decimal.pi*Decimal.pi)//9.8696044010893586188344909998761511353
print(Double.pi*Double.pi)//9.869604401089358
- NumberFormatter
在数字和文本之间转换
2.二进制数据
Data
3.URL
4.UUID
UUID().uuidString
正则表达式
NSRegularExpression
//todo:待完善
日期和时间
- Date
包括日期和时间
- Calendar
比Date接口更丰富
- DateDormatter
let df = DateFormatter()
df.dateFormat = "yyyy-MM-dd HH:mm:ss"
//date转string
df.string(from: Date())
//string转date:注意加上时区
df.timeZone = TimeZone(secondsFromGMT: 8)
df.date(from: "2019-12-09 10:12:21")!
任务管理
1.Timer
//每隔一秒执行一次
Timer.scheduledTimer(withTimeInterval: TimeInterval( 1), repeats: true) { timer in
print("ok")
}
Bundle
- 查找资源文件
Bundle.main.url(forResource: name, withExtension: "后缀名")
- 查找图像资源
Bundle.main.urlForImageResource
- 获取目录
Bundle.main.resourceURL//资源文件目录
...
文件管理
- 文件管理器
FileManager.default
- 文件管理器代理
FileManagerDelegate
在操作过程中或发生错误时使用的接口。
储存键值对
UserDefaults
类似于Android的SharedPreference
//获取实例
UserDefaults.standard
//get
UserDefaults.standard.integer(forKey:"count")
//set
UserDefaults.standard.set(1, forKey: "count")
网络加载
- 相关类
URLSession
URLSessionTask
URLRequest
URLResponse
HTTPURLResponse
URLSession.shared.dataTask(with: URL(string: "http://www.baidu.com")!) { (data, resp, err) in
print(String(data: data!, encoding: .utf8))
print(resp!)
print(err!)
}.resume()
线程
Thread{
}.start()
//取消
.cancel()
//终止当前Thread.exit()