Reactive Cocoa:只订阅新值

Reactive Cocoa: subscribe only to new values

我是 Reactive 的新手 Cocoa。我想要实现的是每次 属性 值更改时都会收到通知。但是,我不想在 属性 设置为相同值时收到通知。 这是一些代码:

self.testProperty = 0;
[[RACObserve(self, self.testProperty) skip:1] subscribeNext:^(id x) {
    NSLog(@"Did Change: %@", x);
}];

self.testProperty = 1;
self.testProperty = 1;
self.testProperty = 1;
self.testProperty = 1;
self.testProperty = 1;

这就是我在控制台输出中得到的

> Did Change: 1
> Did Change: 1
> Did Change: 1
> Did Change: 1
> Did Change: 1

我预计 "Did change" 只会打印一次,而不是五次。有没有办法只订阅新值?

有一个方法,distinctUntilChanged:

[[[RACObserve(self, self.testProperty) 
  skip:1]
  distinctUntilChanged]
  subscribeNext:^(id x) {
    NSLog(@"Did Change: %@", x);
}];