个人记录,仅供参考,不保证严格意义上的正确性。
swift 中,如何在函数内,声明 static 变量 ?...())
aBook = nil
/*
输出:
风之影 new
风之影 is being deinitialized
*/
片段A, aBook 内存泄露,经典的 closure self...片段C,比较诡异. aBook 引用了一个新的 closure,新的 closure 内又引用了 aBook 一次,但是 aBook 竟然还是可以正确释放,并没有预期中的内存泄露问题.令人费解!?...] in .这个语法,是我"杜撰"的,语义上近似于以强引用方式捕捉 aBook 对应的真实对象.官方文档中并没有提到有这种语法....猜想:
或许 swift 中,只有内部有可能直接使用 self 的 closure,才需要特别考虑closure引起的内存泄露问题.