相关疑难解决方法(0)

如何使用AFNetworking 2批量请求?

因此,我正在使用AFNetworking 2.0重写iOS 7的应用程序,我遇到了一次发送一批请求并跟踪其进度的问题.在旧的AFNetworking中有enqueueBatchOfHTTPRequestOperations:progressBlock:completionBlock:方法AFHTTPClient,这显然是重构的,我对如何排队多个请求有点困惑.

我创建了一个子类,AFHTTPSessionManager我正在使用POST:...GET:...方法与服务器进行通信.但是我无法在代码和/或文档中找到任何可以同时将多个请求排入队列的内容AFHTTPClient.

我唯一能找到的是未记录的batchOfRequestOperations:progressBlock:completionBlock:方法AFURLConnectionOperation,但看起来像iOS 6的方式.

显然,我在新NSURLSession概念中遗漏了一些东西,我应该用它来批量请求或查看新的AFNetworking功能.希望有人能在这里帮助我走上正轨!

tl; dr:如何用我的AFHTTPSessionManager子类发送一批请求?

ios afnetworking afnetworking-2

49
推荐指数
1
解决办法
2万
查看次数

在 Objective-C 中同步异步任务

我正在尝试使用 GCDAsyncSocket 向我的 iDevice 客户端发送一些图像文件(近 100MB)。

我想同步向客户端发送数据包。我的意思是在向第一个客户端发送 100MB 数据后,迭代到下一个客户端。但是由于 GCDAsyncSocket 的异步性质,我不知道如何序列化这些数据包发送。

我不能使用信号量,因为在发送图像之前,我会与每个客户端协商以了解我应该发送哪些图像,然后尝试发送这些图像。我找不到一种巧妙的方法来等待和向信号量发出信号。

- (void)sendImagesToTheClients:clients
{
    ...
    //negotiating with client to know which images should sent
    ...

    for(Client* client in clients)
    {
       packet = [packet addImages: images];
       [self sendPacket:packet toClient:client];
    }
}

- (void)sendPacket:packet toClient:client
{
 // Initialize Buffer
    NSMutableData *buffer = [[NSMutableData alloc] init];
    NSData *bufferData = [NSKeyedArchiver archivedDataWithRootObject:packet];

    uint64_t headerLength = [bufferData length];
    [buffer appendBytes:&headerLength length:sizeof(uint64_t)];
    [buffer appendBytes:[bufferData bytes] length:[bufferData length]];

    // Write Buffer
    [client.socket …
Run Code Online (Sandbox Code Playgroud)

asynchronous objective-c synchronous grand-central-dispatch gcdasyncsocket

4
推荐指数
1
解决办法
3510
查看次数