Objective c 来自NSSegmentedControl&x27的RAC信号;s selectedSegment属性
NSSegmentedControl实例与ViewController绑定为Objective c 来自NSSegmentedControl&x27的RAC信号;s selectedSegment属性,objective-c,macos,reactive-cocoa,nssegmentedcontrol,Objective C,Macos,Reactive Cocoa,Nssegmentedcontrol,NSSegmentedControl实例与ViewController绑定为 @property (weak) IBOutlet NSSegmentedControl *mySegmentedControl; 在viewDidLoad方法中,为NSSegmentedControl的selectedSegment属性创建(并订阅)信号: [RACObserve(self.mySegmentedControl, selectedSegment) subscribeNext:^(id x) {
@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及其子类上有一些漂亮的类别,似乎起到了作用)。你看过关于RAC github repo的讨论吗?我做到了,这对我毫无帮助。这不是一个主要的线程问题,讨论讨论的是UIControl上定义的
rac\u signalForControlEvents
,而不是NSControl。