Swift之可变参数

可变参数Variadic Parameter// 可变参数numbers相当于数组,使用的时候可以当做数组func sum(_ numbers: Int...) -> Int { var total = 0 for number...

Swift之面向协议编程

面向协议编程(Protocol Oriented Programming, 简称POP) 是Swift的一种编程范式,Apple于2015年WWDC提出 在Swift的标准库中,能见到大量POP的影子

Swift之函数式编程

函数式编程Functional Programming 简称FP,是一种编程范式,也就是如何编写程序的方法论

Swift之锁

假设封装一个缓存工具类,通过字典存放数据,假设在多线程中存储数据,那么就有必要加锁,保证数据的安全

Swift之如何实现dispatch_once一次性函数

1.示例```swift// 写在控制器里面// static 静态的类属性,在程序运行中只初始化一次,在内存只有一份,本质就是全局变量static var height: Int = getHeight()static func getHeig...

Swift之多线程DispatchWorkItem示例

异步线程执行任务,结束后回到主线程比较常用的做法GCD函数// 执行异步任务DispatchQueue.global().async { // 回到主线程执行任务,比如刷新UI DispatchQueue.main.async...

Swift之图片资源管理

为什么不建议直接写如下代码?UIImage.init(named: "logo")

Swift之关联对象Associated Object

关联对象Associated Object在Swift中,可以像Objective-C一样,使用关联对象

Swift之KVC和KVO

在Swift使用KVC/KVO,无效是因为什么?KVC/KVO支持是Objective-C中运行时特性,Swift中使用需要两个条件 1.属性所在的类/监听器最终继承自NSObject 2.用@objc dynamic修饰对应的属性