閉じる

executePendingBindings

データバインディングを使うと動作が重く見える。

実際の動作は大して重いわけではないと思うのだけど、Bindingオブジェクトを作成してデータをセットしたタイミングではビューへの反映が行われないのよね。
結果としてデータを反映する前のビューが一瞬表示された後にデータが反映された状態になる。
ダブルバッファを使わないでグラフィック系の処理をしている感じ。
ソースを覗いてみるとデータのセットタイミングでダーティーフラグをセットし、後でまとめて反映するようになっている。
何とかならんのかと調べてみたら、Bindingオブジェクトに executePendingBindingsというメソッドがある。
まんま名前の通りの動作をするのでデータをセットして即反映させたい場合は呼び出すことで良い感じに。

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)