2011-05-17 54 views
0

我在我的應用程序中使用Sparkle http://sparkle-project.org/框架進行自動更新。我有一個啓用/禁用自動更新下載的UI項目,但我可以既不使用Sparkle文檔中提到的Interface Builder綁定,也不使用KVO,因爲沒有用於自動更新下載的屬性 - 只有getter和setter方法。我可以鉤住setter方法,並在通過Sparkle的界面交互更改此選項時調用回調。如何監控objective-c方法返回值更改

在這種情況下我該怎麼辦?

謝謝。

回答

2

如果有getter和setter方法,那麼隱式地有一個屬性,即使沒有聲明。你可以使用KVO。事實上,多年來,這是做KVO的唯一途徑;有分別是沒有明確的屬性。可可用任何適當名稱的吸氣劑和固定劑作爲屬性來對待任何東西。

綁定使用相同的機制,所以你應該也可以使用綁定。不要讓缺乏宣稱的財產嚇跑你。

+0

感謝您的回答。 – vian 2011-05-17 13:46:41

0

爲什麼你需要監視這些變化?我知道的最多的應用程序僅在啓動時檢查更新,而不是在運行時檢查。所以你會檢查和更新,或只是繼續申請。

如果沒有其他方式,定時器(NSTimer)將始終工作以定期檢查事物。