問題タブ [addobserver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - プロパティのプロパティを観察する
テーブルビューを更新するために、AppDelegate のプロパティを監視しようとしています。少し複雑なので、ここに私のコードの一部を示します。
配列が更新されるたびに UITableView の内容を更新したいと考えています。これを行うためのより効率的な方法があるように感じますが、それを理解できないようです。Apple のドキュメントをオンラインで読んだことがありますが、ちょっと混乱しています。よろしくお願いします!:)
iphone - オブザーバーを削除する方法
ARC 対応プロジェクトがあります
viewDidLoadに追加されたオブザーバーはほとんどありません
すべてのオブザーバーを削除したいので、viewDidUnloadに次の行を追加しました
今私の質問は、これはすべてのオブザーバーを削除することですか?
そうでない場合、どうすればできますか?
アップデート
単一のオブザーバーを削除したい場合、どうすればよいですか?
助けてください。
ios - NSNotification - 通知を投稿する前に、オブザーバーが追加されているかどうかを確認します
私のコードは次の場所でクラッシュしています:
私の仮定は、オブザーバーが追加される前に通知を投稿していることです。
通知を投稿する前に、アクティブなオブザーバーのリストを確認する方法はありますか?
objective-c - addObserver:forKeyPath がアプリ、KVO、目標 c をクラッシュさせている
次のようにして、カテゴリを使用して視差効果を行っています。
詳細はUIScrollView+Parallax.hの下にあります
UIScrollView+Parallax.m
そして、私は次のようにしてテーブルに視差を追加しています
ただし、[self addObserver:forKeyPath:options:context:nil]
手がかりがまったくないままアプリをクラッシュさせ続けます。この行をコメントアウトすると、アプリはクラッシュしませんが、視差効果は機能しません。
この問題に対するアイデア。助けてください。ありがとう
ios - NSNotificationCenter addObserver が無視される
NSNotifications
XCode 5.1 (および CorePlot 1.4) を使用する前は、2 つのオブジェクトが問題なく受信していました。ただし、XCode 5.1.1 (Coreplot 1.5) では、addObserver
呼び出しがinit
メソッド内にある場合、実際には登録されないことがわかりました (これら 2 つのクラスだけで、別のクラスの親オブジェクトで機能します)。NSLog
コードがまだ機能していることを確認するために、呼び出しの前後にも配置しました。オブジェクトは両方とも共有の親によって強く参照され、親は必要な通知を問題なく受け取ります。そして、オブジェクトが適切に保持NSLog
されdealloc
てremoveObserver
いるため、早期に呼び出されません。
繰り返しになりますが、前回 XCode 5.1 (および CorePlot 1.4) でコンパイルして以来、通知を送信するオブジェクトのコードまたはこれら 2 つのクラスについては何も変更されていません。そして、これと同じ呼び出しがinit
親で使用され、完全に機能します。昨夜の私の唯一の解決策は、addObserver
呼び出しを新しいメソッドにリファクタリングし、 の最後でそのメソッドを呼び出すことでしinit
た。
しかし、なぜこれが必要だったのかわかりません。addObserver
の真ん中に配置された理由init
が「無視される」と考える人はいますが、によって呼び出された別のメソッド内init
では機能しますか?
編集、およびメモ:
初期化を表示するコードを追加しました。また、これは CorePlot のグラフ ビューであり、CorePlot も最近 1.5 に更新されたというメモを追加しました (忘れていました)。これが問題の原因である可能性があります。
再割り当てされているというlead_the_zeppelinの提案は、可能のようです。NSLog
しかし、NSNotificationCenter から現在の dealloc されたオブジェクトへの呼び出しは、プログラムをクラッシュさせませんか? (dealloc は呼び出されないことに注意してください。オブジェクト インスタンス文字列を , 内に出力することで、これを簡単にテストできますinit
。昨夜これをテストして、インスタンスを要求しましたが、そのビットを にコピーしたとは思いませんinit
。
ios - Key-Value 監視が機能しない IOS
こんにちは、キーと値のペアを使用して追加オブザーバーを使用している IOS アプリケーションを開発しています。しかし、それは機能していません。私は次のことをしました:
しかし、上記のメソッドを呼び出していません。に変更forKeyPath
すると、正常にcontentOffset
動作します。しかし、私はその価値を変えたいと思っています。私は何か間違ったことをしていますか?助けが必要。ありがとうございました。
ios - addObserver とバランスが取れているように見えても removeObserver がアプリをクラッシュさせる
したがって、 in と呼ばれる単一のメソッドと in と呼ばれる単一のメソッドを持つクラスがCustomCell : UITableViewCell
ありaddObserver:forKeyPath:options:context:
ます。-awakeFromNib
removeObserver:forKeyPath:context:
-dealloc
CustomCell.m
これらのセルでビューをロードした後、次のログを取得し、再度バックアウトします (dealloc をトリガーします)。
これらのメソッドが他に呼び出されていないことを再確認しました (ctrl+f)。したがって、どのインスタンスでも、正確に 1 つaddObserver
(一意のコンテキストを持つ) と正確に 1 つremoveObserver
(そのコンテキストを持つ) があるようです。
ios - キー値を取得するための addobserver の問題
Observerパターンを使用するのは初めてです。iOS7 以前のバージョンでアプリケーションを正常に実行しています。
XCode 6 を使用してアプリケーションを iOS8 にアップグレードしました。アプリケーションを XCode 6 で初めて開いて実行すると、エラー メッセージが表示されずにアプリケーションがクラッシュします。
デバッガと例外ブレークポイントを適用してみました。
私が見つけたのは、アプリケーションがaddObserver:
行コードでクラッシュしていることです。私がやっていることは次のとおりです。
- 私のアプリケーションは最初にログイン画面を開き、
- ユーザーはユーザー名とパスワードを入力する必要があります。
- 新しいユーザーがログインすると、ユーザー名とパスワードがデータベースに保存されます。
- 内部ユーザーには、パスワードを更新して DB に保存するオプションがあります。
ユーザーが 2 回目にログインしたときに、オブザーバーがパスワードの変更をキャッチしていません。
同じコード行は、下位バージョンで正常に動作します。私は何か間違ったことをしていますか?私のコード:
macos - addObserver メソッドの名前引数とオブジェクト引数の両方を設定できません
このコードを使用してください
欲しかった通知が届きません。
しかし、名前またはオブジェクトを nil に変更すると、機能します。これら 2 つの引数を非 nil に同時に設定できないのだろうか?</p>