Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在将其与 deinitaizlization 进行比较时,我对解除分配的主题有点困惑。在变量被取消初始化后不会发生释放......我的主要观点是,我们可以以某种方式使用/操作取消初始化的变量吗?或者它们几乎没用,因为释放发生在...之后?
在 Swift 中,该deinit方法作为释放过程的一部分被调用。确切地说,当分配给对象的内存被释放时,您无法知道,但在对象被取消初始化后,您将无法访问该对象。
deinit
除了这样做没有任何意义之外,deinit由于解除分配过程是通过删除对对象的最后一个strong引用来启动的,因此无法操作该对象。因为没有参考,你怎么能操纵这个对象。(我想您可以使用无主/不安全引用来尝试访问该对象,但这会导致您的应用程序崩溃)
strong