如何在Swift中正确释放Singleton View Controller

时间:2017-06-20 02:38:24

标签: ios swift uiviewcontroller singleton

我的应用程序是音乐播放器应用程序,我有一个名为nowplayingVC的单例VC。

首先让我解释为什么单独的VC方法,基本上在我的nowplayingVC我有从网络查询的专辑艺术等,我不希望每次都发生这种情况,如果我经常弹出/推动它nowplayingVC

这就是我能够实现单身人士的方式:

class NowPlayingController: UIViewController{
   static let sharedInstance: NowPlayingController = {
        let instance: NowPlayingController = UIStoryboard(name: "Music", bundle: nil).instantiateViewController(withIdentifier: "music") as! NowPlayingController
        return instance
    }()
}

所以每次我想推这个nowplayingVC,我就去吧,

navigationController?.pushViewController(NowPlayingController.sharedInstance, animated: true)

但是这里是我被困的地方,我描述了这个nowplayingVC,它的引用计数是1,由静态sharedInstance变量引起。我也在nowplayingVC中使用定时器,这意味着必须调用deinit(),这是我使invalid()定时器无效的地方。

  

在什么时候我可以从内存中删除此nowplayingVC   AppDelegate里面的某个地方可能在applicationWillTerminate {}里面?   还是会自动调用deinit()?我怎么能把它带回来   到0?

我只是想知道这种情况的最佳方法是什么,谢谢

0 个答案:

没有答案