0

我在我的应用程序中使用 Sparkle http://sparkle-project.org/框架进行自动更新。我有一个启用/禁用自动更新下载的 UI 项,但我既不能使用 Sparkle 文档中所述的 Interface Builder 绑定,也不能使用 KVO,因为没有用于自动更新下载的属性 - 只有 getter 和 setter 方法。我可以挂钩 setter 方法并在此选项通过 Sparkle 的界面交互更改时调用回调。

在这种情况下我能做什么?

谢谢你。

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 回答