一个对象从创建到释放,不管是OC还是Swift,都有引用计数来管理,在引用计数为0时,程序会在一个恰当的时机把这个对象释放。
“恰当的时机”是 线程Runloop的某个环节,但问题是,会在哪个线程里释放呢?
经测试,无论是在OC中还是Swift中,
dealloc都是在最后一次释放的线程中执行。
就是说,一个对象,无论它在哪个线程总创建或者被使用,它只在最后一次release它的那个线程中执行dealloc/deinit操作。
一个对象从创建到释放,不管是OC还是Swift,都有引用计数来管理,在引用计数为0时,程序会在一个恰当的时机把这个对象释放。
“恰当的时机”是 线程Runloop的某个环节,但问题是,会在哪个线程里释放呢?
经测试,无论是在OC中还是Swift中,
dealloc都是在最后一次释放的线程中执行。
就是说,一个对象,无论它在哪个线程总创建或者被使用,它只在最后一次release它的那个线程中执行dealloc/deinit操作。