##起きたこと
TableViewControllerとNavigationControllerでできているチャットアプリを作成していたところ、トーク画面でスクショすると自動送信されるメッセージが他のトーク画面でスクショしても送信されるバグが発見された。
##原因と処理
スクショの監視するObserVerをViewDidLoad()
の中に書いていたのですが、
NotificationCenter.default.addObserver(self, selector: #selector(didTakeScreenshot), name: UIApplication.userDidTakeScreenshotNotification, object: nil)
NavigationController
画面遷移をしたときに通知を外していないことが原因でした。
NotificationCenter.default.removeObserver(self,name: UIApplication.userDidTakeScreenshotNotification, object: nil)
をviewWillDisappear
の中で書くことで期待した処理をすることが出来ました。