【发布时间】:2014-02-03 08:58:53
【问题描述】:
//@property (weak, nonatomic) IBOutlet UIImageView *imageView;
//@property (nonatomic) UIImage *image;
//@property (nonatomic) PhotoEffect *effect;
//@property (weak, nonatomic) IBOutlet UISwitch *glossSwitch;
目前,由于UISwitch 不适用于KVO,我遇到了一个问题。以下代码仅在 switch 从其初始状态更改时触发:
RAC(self.imageView, image) = [[[[RACSignal
combineLatest:@[ RACObserve(self, image), [self.glossSwitch
rac_signalForControlEvents:UIControlEventValueChanged], RACObserve(self, effect)]]
deliverOn:[RACScheduler scheduler]]
reduceEach:^UIImage *(UIImage *im, UISwitch *glossSwitch, PhotoEffect *effect) {
if (!im) {
return nil;
}
if (effect) {
im = [im imageWithEffect:effect.type];
}
if (glossSwitch.on) {
im = [GlossyIcon applyShineToImage:im];
}
return im;
}]
deliverOn:RACScheduler.mainThreadScheduler];
【问题讨论】:
-
对我的(已删除)回答感到抱歉。我的阅读理解能力很差。
-
@JustinSpahr-Summers 没问题 :) 我们都会不时这样做。
标签: objective-c ios7 uiswitch reactive-cocoa