菜鸟教程小白 发表于 2022-12-12 08:54:07

ios - react 性 cocoa : Response from HTTPRequest using RACCommand


                                            <p><p>我对 Reactive Cocoa 框架完全陌生,我只是在做一些简单的测试,但遇到了一个我想了解的问题。</p>

<p>基本上我只是在做一个 API 调用来从我的服务器获取一个 JSON 对象,我想用 RAC 来做这个。所以我的步骤如下:</p>

<p><strong>首先我以这种方式构建 RACCommand:</strong></p>

<pre><code>RACCommand *getLatestVersionCommand = [ initWithSignalBlock:^RACSignal *(id input) {
    return [[ getLatestAppVersion]
                materialize];
}];
</code></pre>

<p><strong>现在我创建信号并以这种方式订阅它:</strong></p>

<pre><code>RACSignal *versionCodeSignal = [ deliverOn:];
[[versionCodeSignal
    map:^id(NSDictionary *responseObject) {
      return responseObject;
    }]
    subscribeNext:^(NSDictionary *responseObject) {
      NSArray *allVersions = [ initWithArray:];
      for(NSDictionary *version in allVersions) {
            NSString *device = ;
            if() {
                NSString *latestVersionName = [ objectForKey:KEY_NAME];
                if( == NSOrderedAscending) {
                  //There is a new version!
                  NSLog(@&#34;There is a new version!!!&#34;);
                }
            }
      }
    }];
</code></pre>

<p><strong>最后我这样执行命令</strong></p>

<pre><code>;
</code></pre>

<p>我面临的问题是,在 subscribeNextblock 中,我收到的对象是一个 RACEvent 对象,而不是我期望的字典。我知道我做错了什么并且没有正确理解整个流程,我尝试添加我认为我不需要的 map 功能只是为了测试而什么都没有。 </p>

<p>我发现的唯一方法是将 mapblock 中的响应转换为 RACEvent 并返回其值,但在我看来这不是正确的方法。</p>

<p>任何灯光都将不胜感激。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>从命令的信号 block 中删除对 <code>-</code> 的调用。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios -react 性 cocoa: Response from HTTPRequest using RACCommand,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/22645870/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/22645870/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - react 性 cocoa : Response from HTTPRequest using RACCommand