gpt4 book ai didi

ios - ReativeCocoa以信号序列返回NSURLConnection的结果

转载 作者:行者123 更新时间:2023-12-01 19:04:56 25 4
gpt4 key购买 nike

我有用于创建信号的UITextField。我有以下转换/管道(不确定使用正确的术语!)

[[[self.searchText.rac_textSignal
throttle:0.3]
map:^(NSString *text) {
NSString* url = [NSString stringWithFormat:@"http://search.twitter.com/search.atom?rpp=20&since_id=0&q=%@", text];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
return [NSURLConnection rac_sendAsynchronousRequest:request];
}]
subscribeNext:^(id x) {
NSLog(x);
}];

基本上,我想基于当前文本字符串执行搜索。

但是,通过map返回的结果是RACSignal。我想要的是 map 从URLConnection返回响应,而不是信号。

有任何想法吗?

最佳答案

您想使用-[RACSignal flattenMap:]而不是-[RACSignal map:]
-map:只会将NSString映射为一个信号,并将该信号作为下一个值传递到您的订阅块。很好,但是您必须在订阅块中显式订阅该信号,这很麻烦。 -flattenMap:也会将NSString映射到信号,但随后还将该信号的值展平到外部信号的值流中。

在您的方案中,+[NSURLConnection rac_sendAsynchronousRequest:]信号称为“内部信号”。展平值为内部信号的外部信号(也称为“信号信号”)会使内部信号的值传递给外部信号的订户。

关于ios - ReativeCocoa以信号序列返回NSURLConnection的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20271462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com