내 ViewController에는 UISearchBar가 포함되어 있으며 UISearchBarDelegate 프로토콜을 구현합니다. 내가 subscribeNext
제대로 발사 searchBartextDidChange:
위한 신호 만들었습니다RACSignal 이벤트를 필터링 할 수 없습니다.
RACSignal *searchTextChangeSignal = [self rac_signalForSelector:@selector(searchBar:textDidChange:) fromProtocol:@protocol(UISearchBarDelegate)];
[searchTextChangeSignal subscribeNext:^(id x){
// This works.
}];
을이 시점에서를, 나는 단지 이상 3 자 텍스트가 포함) 1이 필터의 결과를 필터링, 그리고 것 2)는 300 ms 씩 조절되었습니다. 내 시도 :
[[searchTextChangeSignal filter:^(RACTuple *tuple) {
NSString *textEnteredIntoSearchBar = (NSString *)tuple.second;
return textEnteredIntoSearchBar.length > 3;
}] throttle:300];```
위의 코드는 작동하지 않습니다. 블록은 절대로 실행되지 않습니다. filter
메서드를 subscribeNext
으로 바꾸면 subscribeNext
블록 이이됩니다. 또한 XCode는 위의 filter
메서드를 자동 완성하므로 메서드를 사용할 수 있습니다. 내가 여기서 누락 된 것이 있습니까? 이 작업을 수행하는 올바른 방법은 무엇입니까? 어떤 도움이라도 대단히 감사합니다.
감사합니다. David. 이 간단한 사실은 Reactive Cocoa 문서에서 누락 된 것으로 보입니다. – Bibs
빠른보기와 그것은 README에 언급되어있는 것처럼 보이지 않습니다. 이것은 확실히 감독입니다. BasicOperators.md 문서에 언급되어 있습니다. https://github.com/ReactiveCocoa/ReactiveCocoa/blob/master/Documentation/BasicOperators.md#performing-side-effects-with-signals –