ios - 一一调用NSURLConnection
<p><p>我有一个包含 10 个 URL 的 NSMutableArray,我需要从中获取 HTTPheader 。</p>
<p>下面是我的代码:</p>
<pre><code>for(int i=0; i<;i++)
{
NSMutableURLRequest *request = [ init];
NSString *reqstr=;
];
NSLog(@"requested url is %@",reqstr);
;
;
;
];
NSURLConnection *theConnection=[initWithRequest:request delegate:self startImmediately:YES];
}
</code></pre>
<p><strong>当前</strong> <strong>结果</strong>:所有请求都同时发送到服务器。</p>
<p><strong>预期结果</strong>:想在得到响应后发送一个请求到服务器我想在后台发送另一个请求。</p>
<p>有什么建议吗?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>重构您的代码以使用 <code>sendAsynchronousRequest:queue:completionHandler:</code> 方法,并在当前帖子完成后调用自身:</p>
<p>将您的计数移至实例变量。我们称它为 currentItem。您的代码可能如下所示:</p>
<pre><code>- (void) postItems;
{
while (currentItem < [contactsArray count)
{
NSMutableURLRequest *request = [ init];
NSString *reqstr=;
];
NSLog(@"requested url is %@",reqstr);
;
;
;
];
[NSURLConnection sendAsynchronousRequest: request
queue:dispatch_get_main_queue ()
completionHandler: ^(NSURLResponse *response, NSData *data, NSError *error)
{
//check for errors
//save any response data
//Now trigger the next request
currentItem++
;
}
];
}
}
</code></pre>
<p>(完成 block 的语法可能不完全正确。我对带参数的 block 的语法有点挣扎。)</p></p>
<p style="font-size: 20px;">关于ios - 一一调用NSURLConnection,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/23805923/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/23805923/
</a>
</p>
页:
[1]