NSSegmentedControl实例以
的形式绑定到ViewController@property (weak) IBOutlet NSSegmentedControl *mySegmentedControl;
在viewDidLoad方法中,为NSSegmentedControl的selectedSegment属性创建(和订阅)信号:
[RACObserve(self.mySegmentedControl, selectedSegment) subscribeNext:^(id x) {
NSLog(@"Next is called only once.");
}];
然而,subscribeNext块仅在信号创建后执行一次,不发送错误或完成消息。
例如,当使用hidden
而不是selectedSegment
属性时,只要NSSegmentedControl的hidden
状态发生变化,就会执行subscribeNext块。
这是KVO问题吗?我该如何解决这个问题,即如何从NSSegmentedControl的selectedSegment属性中创建RACSignal?
(这只是一个Mac问题,iOS在UIControl及其子类上有一些漂亮的类别似乎可以解决这个问题。)