swift 闭包中unowned和weak的使用
2020-06-10 本文已影响0人
ssjk4
1. weak声明后的变量为可选项,闭包中使用需要解包。
a. 不需要考虑变量与闭包之间的生命周期问题,相对安全
b. 性能相比unowned稍差,如非特别考虑性能,可忽略不计
2. unowned声明后的变量不需要解包,可直接使用
a. 需要考虑闭包中使用时变量是否还存在,否则会引起奔溃
b. 性能相比weak稍好
1. weak声明后的变量为可选项,闭包中使用需要解包。
a. 不需要考虑变量与闭包之间的生命周期问题,相对安全
b. 性能相比unowned稍差,如非特别考虑性能,可忽略不计
2. unowned声明后的变量不需要解包,可直接使用
a. 需要考虑闭包中使用时变量是否还存在,否则会引起奔溃
b. 性能相比weak稍好