Я хотел бы знать, были ли у кого-то проблемы с методом listenForNotification Reactive Cocoa. Я испытываю цикл сохранения, используя следующий код, и мой метод Dealloc viewController никогда не вызывается. Если я не слушаю это уведомление, мой viewController правильно освобожден
ВОТ ОБНОВЛЕНИЕ ПОЛНЫЙ БЛОК КОДА, в котором я вызываю метод для прослушивания уведомлений:
RACSignal *postSignal = [RACSignal empty];
postSignal = [[[[NSNotificationCenter defaultCenter] rac_addObserverForName:kNotification object:self.conversation] takeUntil:self.rac_willDeallocSignal]] bind:^RACStreamBindBlock{
return ^RACSignal *(NSNotification *note, BOOL *stop) {
XXStatus status = [note.userInfo[@"status"] longValue];
if (status == XXStatusPosted) {
*stop = YES;
return [RACSignal empty];
} else {
return [RACSignal error:note.userInfo[@"error"]];
}
};
[[[[RACSignal merge:@[uploadSignal, postSignal]] deliverOnMain] subscribeCompleted:^{
[self doSomethingX];
} error:^(NSError *error) {
[self doSomethingOnFail:error];
}] autoDispose:self];
Знаете ли вы, как работает управление памятью RAC для прослушивания уведомлений? Где центр уведомлений — это центр уведомлений по умолчанию в приложении. И этот метод включен в расширение категории класса NSObject.
Спасибо за Ваш ответ.