1

我想将属性观察器添加到 NSProgress。我有这段代码,但它只调用一次。

var progress: NSProgress?
{
    didSet
    {
        println(progress!.fractionCompleted)
    }
}
4

1 回答 1

3

您的观察者只触发一次的原因是它正在观察progress变量本身的变化,而不是变量中的属性progress(在这种情况下,大概是fractionCompleted。)因为更新到您的 NSProgress 的实际进度不涉及您设置progress为new NSProgress,您只点击didSet一次(大概是在您第一次实例化它时。)

观察更改的首选模式NSProgress是使用Key-Value Observation,这将更适合您的用例。你可以在这里阅读。

于 2014-08-01T16:36:25.187 回答