基本上,我有一个控制聊天室的 UIViewController。当 UIViewController 以任何方式被取消时,当前用户需要离开频道。
目前,我的代码是:
class ChatViewController: SLKTextViewController {
var channel: TWMChannel? = nil
// A ton of other code...
deinit {
channel!.leaveWithCompletion({
_ in
})
}
我只见过像NSNotificationCenter.defaultCenter().removeObserver(self)
deinit 这样的代码,我还没有在网上找到任何关于这样做是否安全的信息。
从本质上讲,这个视图控制器是 UINavigationController 堆栈的一部分,每当视图控制器被弹出(我想 deinit 总是会在此期间被调用)时,我希望用户离开频道。如果有一种首选的方法来处理导航栏上的左上角后退按钮和平移手势,那么我很乐意看到实现。