我正在Objective C上构建一个iOS匹配应用程序,用户需要不断点击图像,每次点击时,都会在服务器上调用一个请求(match.php)来检查是否找到该图像或不。如果服务器上有图像,服务器将发回肯定响应,如果不存在,则不会发送任何响应。
如果收到肯定回复,该应用会显示"发现"在屏幕上提醒。每次点击后,都会向用户显示一个新图像。
我的问题是,如果我在点击一张图片后等待,它会正常工作,因为我从该特定图像的php文件中获得所需的肯定响应,然后警报可能会显示也可能不会显示。但是如果我继续点击连续的图像,我就不会得到旧的响应,即使服务器上存在警报,警报也不会弹出。我只从我等待的最后一张图片得到回复。
这有什么解决方案吗?我可以对响应进行排队,以便每次服务器调用时都会得到响应吗?目前似乎每次点击都会覆盖连接,旧连接会丢失?
我正在使用NSURLConnection进行服务器调用,并且alertDidFinishLoading中显示警报,具体取决于我得到的响应。在这些中间,我还使用didReceiveData将数据附加到响应中,并使用didReceiveResponse来检查响应。
我知道我应该使用NSURLSession,但是它会解决这个问题,还是我需要做些什么?