0

アプリケーションの自動更新にSparkle http://sparkle-project.org/フレームワークを使用しています。自動更新のダウンロードを有効/無効にする UI 項目がありますが、Sparkle のドキュメントに記載されている Interface Builder バインディングも KVO も使用できません。このオプションが Sparkle のインターフェイス インタラクションによって変更されたときに、setter メソッドをフックして、コールバックを呼び出すことはできますか?

この状況で何ができますか?

ありがとうございました。

4

2 に答える 2

2

getter メソッドと setter メソッドがある場合は、プロパティが宣言されていなくても、暗黙的にプロパティがあります。KVOを問題なく使用できます。実際、何年もの間、これが KVO を行う唯一の方法でした。明示的なプロパティありませんでした。Cocoa は、適切な名前の getter と setter を持つものをすべてプロパティとして扱います。

バインディングは同じメカニズムを使用するため、バインディングも使用できるはずです。宣言されたプロパティの欠如があなたを怖がらせないようにしてください。

于 2011-05-17T13:42:54.290 に答える
0

これらの変更を監視する必要があるのはなぜですか? 私が知っているほとんどのアプリケーションは、実行時ではなく、起動時にのみ更新をチェックします。そのため、確認して更新するか、アプリケーションを続行します。

他に方法がない場合は、タイマー (NSTimer) が常に機能して定期的にチェックします。

于 2011-05-17T13:43:35.180 に答える