ReactiveCocoa のベスト プラクティスに従って、1 時間ごとに UI を更新しようとしています。これは私が持っているものです:
NSDateComponents *components = [[[NSCalendar sharedCalendar] calendar] components:NSMinuteCalendarUnit fromDate:[NSDate date]];
// Generalization, I know (not every hour has 60 minutes, but bear with me).
NSInteger minutesToNextHour = 60 - components.minute;
RACSubject *updateEventSignal = [RACSubject subject];
[updateEventSignal subscribeNext:^(NSDate *now) {
// Update some UI
}];
[[[RACSignal interval:(60 * minutesToNextHour)] take:1] subscribeNext:^(id x) {
[updateEventSignal sendNext:x];
[[RACSignal interval:3600] subscribeNext:^(id x) {
[updateEventSignal sendNext:x];
}];
}];
これにはいくつかの明らかな欠陥があります: 手動のサブスクリプションと送信であり、単に「気分が悪い」だけです。これをより「反応的」にする方法についてのアイデアはありますか?