来自NSSegmentedControl的selectedSegment属性

时间:2015-06-30 14:36:15

标签: objective-c macos reactive-cocoa nssegmentedcontrol

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及其子类上有一些漂亮的类别似乎可以解决这个问题。)

0 个答案:

没有答案