facebookarchive / KVOController

Simple, modern, thread-safe key-value observing for iOS and OS X.
Other
7.34k stars 925 forks source link

KVOController retain ViewController not call Deinit class #123

Closed hoangtam101 closed 7 years ago

hoangtam101 commented 7 years ago

I just write this code for present a ViewController autoreleasepool(invoking: { let changeSceneViewController = self.storyboard?.instantiateViewController(withIdentifier: "SettingsViewController")

            if (changeSceneViewController != nil) {
                self.present(changeSceneViewController!,
                             animated: true,
                             completion: nil)
            } else {
                fatalError("Can't load screen")
            }
    })

When i am back from changeSceneViewController the function deInit will call. But when i'm write some line in code at class ChangeSceneViewController self.kvoControllerNonRetaining.observe(DataCenter.shared, keyPath: "volumeBackground", options: [.new, .initial]) { (setting, data, change) in self.view.layoutIfNeed() } The function deInit never call when back from changeSceneViewController.

Example code: https://www.dropbox.com/s/joxj7lgt7yuidoc/DemoKVOController.zip?dl=0

Please help me resolve this problem Thank you so much.

hoangtam101 commented 7 years ago

I got it. Thank you