NSNotificationCenterはバグにつながる可能性があります。もっとエレガントな解決策を知っていますか?
-
27-10-2019 - |
質問
通知センターにオブザーバーを(偶然に)2回追加でき、通知を2回受け取ります。 通知を1つだけ受け取ることは可能ですか?もっとエレガントな解決策を知っていますか?
バグにつながる可能性があるため、この例を示します。 ジェネラコディセタグプレ
解決
オブザーバーを別の場所に追加したかどうかわからない場合は、オブザーバーを追加するたびに次のコードを使用できます ジェネラコディセタグプレ
このようにして、古いもの(存在する場合)を削除し、新しいものを追加します。
100%失敗しないというわけではありませんが、それは始まりです。これは、通話が非同期またはその他の固有の状況で行われているマルチスレッドアプリでは失敗する可能性があります。
他のヒント
オブジェクトをnilに設定して、後でそのオブジェクトをまだ有効であるかのように使用することもできます。
すべてをフェイルセーフにすることができるわけではありません。
所属していません StackOverflow