先看我的结论:
1. 值捕获时间不一致。OC是在block申明的时候将需要的对象指针压栈进block的栈区。SWIFT 则是在闭包执行的时候捕获值。
2.在OC中需要申明__block 才能在block 中修改。而SWIFT 则默认实现了__block效果。
3.如果在Swift 中如此则是类似OC将对象提前压栈
先看我的结论:
1. 值捕获时间不一致。OC是在block申明的时候将需要的对象指针压栈进block的栈区。SWIFT 则是在闭包执行的时候捕获值。
2.在OC中需要申明__block 才能在block 中修改。而SWIFT 则默认实现了__block效果。
3.如果在Swift 中如此则是类似OC将对象提前压栈