mirror of
https://github.com/zhigang1992/FunctionalReactivePixels.git
synced 2026-01-12 22:47:31 +08:00
Simplified decompression chain. (Still bad performance)
This commit is contained in:
@@ -32,22 +32,15 @@
|
||||
[self.contentView addSubview:imageView];
|
||||
self.imageView = imageView;
|
||||
|
||||
RACCommand *command = [[RACCommand alloc] initWithSignalBlock:^RACSignal *(id input) {
|
||||
return [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
|
||||
[[RACScheduler scheduler] schedule:^{
|
||||
[input af_decompressedImageFromJPEGDataWithCallback:
|
||||
RAC(self.imageView, image) = [[[RACObserve(self, photoModel.thumbnailData) ignore:nil] map:^id(id value) {
|
||||
return [[RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
|
||||
[value af_decompressedImageFromJPEGDataWithCallback:
|
||||
^(UIImage *decompressedImage) {
|
||||
[subscriber sendNext:decompressedImage];
|
||||
[subscriber sendCompleted];
|
||||
}];
|
||||
}];
|
||||
[subscriber sendNext:decompressedImage];
|
||||
[subscriber sendCompleted];
|
||||
}];
|
||||
return nil;
|
||||
}];
|
||||
}];
|
||||
command.allowsConcurrentExecution = YES;
|
||||
|
||||
RAC(self.imageView, image) = [[[RACObserve(self, photoModel.thumbnailData) ignore:nil] map:^id(id value) {
|
||||
return [command execute:value];
|
||||
}] subscribeOn:[RACScheduler scheduler]];
|
||||
}] switchToLatest];
|
||||
|
||||
return self;
|
||||
|
||||
Reference in New Issue
Block a user