У меня есть ужасная проблема с компиляцией при попытке уменьшить пару сигналов.RACSignal combinationLatest: не может уменьшить
RACSignal* contactIdentifierSignal = RACObserve(self, contactIdentifier);
RACSignal* displayNameSignal = RACObserve(self, displayName);
RACSignal* mappedThing = [RACSignal combineLatest:@[contactIdentifierSignal, displayNameSignal] reduce:^id(NSString* identifierValue, NSString* displayNameValue){
return @([identifierValue length] > 0 && [displayNameValue length] > 0);
}];
ошибка, что я получаю:
Невозможно инициализировать параметр типа 'ид (^)()' с RValue типа «ид (^) (NSString * __strong, NSString * __strong)»
Согласно документации ReactiveCocoa, я должен иметь ряд Params для каждого сигнала в блоке комбайна k, но, похоже, это не работает.
И я понятия не имею, почему эта вещь ожидает, что свертка блок без параметров ...
Есть кто-нибудь сталкивался с этой проблемой раньше?
Я пробовал этот код и компилируется (ReactiveCocoa 2.4.7, Xcode 6.1.1),. Вы уверены, что проблема не в другом месте вашего кода? Например. что-то не так с импортом, или некоторые макросы препроцессора перепутали вещи? –
@ MichałCiuba Я думаю, что я забыл сказать, что я внутри файла ObjectiveC++ ... –